• Js前端面试题


    1.判断js类型的方法
    1 typof()
    2 可以判断出 string boolean undefiend number
    3 但是判断typeof(null) 时值为object ,判断对象数组的时候也是object

    Object.prototype.toString.call() 可以判断出所有类型

    Array.isArray()判断是否为数组

    2.闭包的概念:有权访问另一个函数内部的变量

    优点:避免全局变量污染,希望一个变量长期存储在内存中

    缺点:内存泄漏,增加内存使用量

    function f1(){
       var n=1;
       function f2(){  //f2就是闭包
           alert(n)
       }
    }

    3.浅拷贝和深拷贝都只针对于引用数据类型

    浅拷贝:浅拷贝只复制对象的指针,不复制对象本身
    
    Object.assign()实现浅拷贝  
    
    深拷贝:使用JSON.stringify和JSON。parse()实现深拷贝,缺陷:只能处理Number,string boolean Arry ,只有可以转成JSON格式对象才可以这样用,像function就没办法了

    4.js中值类型,和引用类型

    1.值类型:string ,Boolean ,number ,null ,undefiend
    
    2.引用类型:function object array

     5.es6数组去重

    var  arr = [1,3,3,7.8]
    
    第一种:let res = [...new Set(arr)]
    
    第二种:let arr1 = arr.reduce((initialValue,currentValue)=>{
          if(!initialValue.includes(currentValue))
          {
              initialValue.push(currentValue)
          }
          return initialValue
      },[])

    reduce常用来求和
    const sum = arr.reduce((arr,curValue)=>{

    return arr+curvalue
    },0)

    6.vue.js使用的时单向数据流,双向绑定,js单向数据流

    7.promise 是异步编程的一种解决方案,主要用来解决回调地狱的问题,一般情况下配合async/await使用  await后面必须是一个promise对象

  • 相关阅读:
    ajax提交表单,包括跳入的坑!
    js继承
    文本的选取和复制
    js 绑定的键盘事件
    webpack的使用 一、webpack 和webpack的安装
    json转化为C#、Java、TypeScript、VisualBasic、Python实体类
    ASP.NET MVC Route详解
    .net面试技术要点总结
    C#利用反射实现简单记事本功能插件
    ASP.NET网页请求以及处理全过程(反编译工具查看源代码)
  • 原文地址:https://www.cnblogs.com/huanhuan55/p/12733231.html
Copyright © 2020-2023  润新知