标签:obj 指向 number getNum call var
eg:
var number = 50; var obj = { number: 60, getNum: function () { var number = 70; return this.number; } }; console.log(obj.getNum());//60 this的指向为obj console.log(obj.getNum.call());//undefined this 指向的是全局对象,实际上就是通过call的首个参数修改了对象函数的this 值 console.log(obj.getNum.call({number:20})); //20 this 指向的是全局对象,后参数定义了全局对象的number
扩展:
var newObj = { number : 666 }
obj.getNum.call(newObj,"22") //666
.call中首参数有值则改变了this指向,此时this指向为newObj,后参数为传参
若首参数无或为null,则this指向全局对象
标签:obj,指向,number,getNum,call,var 来源: https://www.cnblogs.com/redFeather/p/16435372.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。