Ice五封 level
获赞
1
粉丝
1
关注
0
看过 TA
5
东南大学
2020
前端工程师
IP属地:浙江
none
私信
关注
2019-08-12 12:19
已编辑
东南大学 前端工程师
有三道题  写输出结果的    已经跑过代码知道结果了,还是不明白为什么,求大佬解答      1、写输出   const obj={     a:1,     fn:()=>{         console.log(this.a)     } }; obj.fn(); //undefined 这个题的结果是undefined   没明白=-=      2、写输出结果    Array.prototype.method = function() {     console.log(this.length); }; var myArray= [1,2,3]; myArray.name ...
KiyonamiYu:var num1 = 1, num2 = 2; function cal() {     var num1 = 10, num2 = 20;     console.log('this', this);     console.log('----------');     console.log('this.num1', this.num1);     console.log('----------');     console.log(this.num1 + this.num2); } var calBind = cal.bind({ num1: 100, num2: 200 });   new cal(); cal(); new calBind(); calBind(); // NaN      // new 创建对象,此时的 this 指向 cal , 但 var num1 并不是定义 this.num1 。所以最后就是 undefined + undefined = NaN // 3        // 此时的 this 指向外部 window ,window 中定义了 var num1 = 1, var num2 = 2;        // node 跑出来的结果是 NaN;浏览器跑出来的结果是 3 // NaN      // new 创建对象,此时的 this 还是指向 cal ,undefined + undefined = NaN // 300      // bind 绑定函数 this ,此时 100 + 200 = 300
投递拼多多集团-PDD等公司10个岗位
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务