我是研究僧i 提交于 2019-12-11 13:16:42

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

    //赋值是从右往左的,b在块里面没有申明,所以js引擎会在全局作用域里面申明一个,然后执行的时候就会赋值5.
    // a是声明了的,在外部作用域无法访问
    (function () {
        var a=b=5;

    })();

    console.log(a); //报错a is not defined
    console.log(b); //5
 var fullName = '1';
    var obj = {
        fullName:2,
        prop:{
            fullName:3,
            getFullName: () => {
                console.log(this.fullName);
            }
        }
    }

    //依次输出123,这是this的绑定机制
    //如果把getFullName换成箭头函数的话,结果会是怎么样的呢 输出全部是1 ,因为obj不会产生作用域
    //箭头函数的this是继承自自己作用域链的上一层的this,任何方法都改变不了,包括call,apply,bind。
    //普通函数的this指向调用它的那个对象。
    
    obj.prop.getFullName();
    obj.prop.getFullName.call(window);
    obj.prop.getFullName.call(obj);
    obj.prop.getFullName.call(obj.prop);

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!