美文网首页
《javascript启示录》笔记(上)

《javascript启示录》笔记(上)

作者: 月半女那 | 来源:发表于2018-12-12 11:40 被阅读0次

    1. javascript对象

    a. 在javascript中,方法是包含Function()对象的属性,其目的是对函数内部对象进行操作
    b. 构造函数返回的对象被称为实例
    c. js 原生对象构造函数 (Array,Object,String,Number,Boolean,Function,Date,RegExp,Error)

    d. 对象是通过引用进行存储的, 直接复制
    这样的复制 其实是对c对象地址的引用,所以其实c,d其实指向的都是内存中的同一个对象,所以只要一方修改,另一方也会修改
    对象只有引用相同的对象是才会相等,即时有两个对象他们中的属性完全相等但是使用 ===也是不相等的
    对比.png
    e. 可以通过instanceof 来确定一个对象是否事是特定构造函数的实例 image.png

    2. 对象和属性

    a. hasOwnProperty:验证对象属性是否是自身的属性而不是来自原型链
    in:检查一个对象是否包含属性(不仅是自身的还包含原型链上的)


    image.png

    b. for...in 遍历对象属性

    image.png

    缺点:1. 它不仅会遍历对象的自身属性还会遍历原型链的属性,所以可以通过hasOwnProperty方法过滤
    2. 访问属性的属性斌不是循环内部定义的顺序也不是定义属性的顺序
    3. 只能遍历可枚举属性

    3. Object()

    a. 所有对象都继承自Object.prototype,Object.prototype的任何内容都将出现在for..in循环和原型链中

    4. Function()

    a. 函数是一个对象,因此函数也是一个值
    b. arguments :是所有函数中都可用的局部变量,可以通过arguments.length来确定传递给函数参数的个数
                              arguments.callee指向当前执行的函数
    c. this : 当函数在全局作用域中定义时,this表示window对象,当被调用时,指向调用方
    d. 可以通过return 来取消函数执行
    e. 定义函数的四种方法

    定义函数的四种方法.png
    f. call,apply https://www.jianshu.com/p/350ddbefe0e7

    5. head对象

    6. this关键字

    a. 可以通过call,apply改变this指向问题

    b. 可以简单的在夫函数中使用作用域链来保留对this的引用问题
    c. 在使用new调用构造函数的时候,this指向‘即将创建的对象’,如果不使用则表示调用函数的上下文 image.png

    d.如果在构造函数的prototype属性中使用this,this引用调用方法的实例,如果this指向的实例或者对象不包含引用属性,则会在原型链上查找属性


    image.png

    相关文章

      网友评论

          本文标题:《javascript启示录》笔记(上)

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