基础篇

作者: 随感_ | 来源:发表于2018-08-28 15:27 被阅读0次

    基础知识


    WechatIMG181.jpeg

    1JS中使用typeof能得到哪些类型
    typeof undefind // undefind
    typeof 'abc' //string
    typeof 123 // number
    typeof true //boolean
    typeof{} // object
    typeof [] //object
    typeof null //object
    typeof console.log //function

    2何时使用=== 何时使用==
    if(obj.a == null){
    // 这里相当于 obj.a === null || obj.a === undefind,简写形式
    这是jQuery的源码中推荐的写法,除了这个之外全部用===
    }
    ==可以进行强制类型的转换 ===不会

    3JS中有哪些内置函数
    object array boolean number string function date regexp error

    4JS变量按照存储方式区分为哪些类型,并描述其特点
    变量类型
    值类型
    var a = 100
    var b = a
    a = 200
    console.log(b) //100
    引用类型
    var a = {age:20}
    var b = a
    b.age = 21
    console.log(a.age)//21
    区别的原因:
    在内存中来说,值类型是把每一个值都存在变量的位置,引用类型就是age赋值成一个对象,a\b都是一个指针,同时指向对象。
    引用类型:对象、数组、函数
    值类型和引用类型的区别,简单来说,值类型一旦赋值不会改变,但是引用类型只是一个变量指针,别的指针也可以改变

    5如何理解JSON
    json只不过四JS对象而已
    JSON.stringify({a:10,b:20}) // 把对象变成字符串
    JSON.parse('{"a":10,"b":20}')//把字符串变成对象

    6原型和原型链
    题目引入
    如何准确判断一个变量是数组类型
    写一个原型链继承的例子
    描述new一个对象的过程
    zepto源码中如何使用原型链
    instanceof 类型判断

    构造函数-扩展
    var a = {} => var a = new Object()
    var a = [] => var a = new Array()
    function Foo(){} => var Foo = new Function ()
    使用instanceof 判断一个函数是否是一个变量的构造函数

    所有的引用类型(数组 对象 函数)都具有对象特性 即可自由扩展属性,除了null以外
    所有的引用类型(数组 对象 函数)都具有一个proto属性(隐形属性),属性值是一个普通的对象
    所有的函数,都有一个prototype(显示原型)属性,属性值也是一个普通的对象
    当试图得到一个对象的某个属性时,如果这个对象本身没有这个属性,那么会去他的proto中去寻找
    console.log(obj.proto === Object.prototype)

    相关文章

      网友评论

          本文标题:基础篇

          本文链接:https://www.haomeiwen.com/subject/jyvvpftx.html