this绑定
发布时间:2020-12-14 04:27:33 所属栏目:大数据 来源:网络整理
导读:默认绑定 默认绑定一般是绑定到window上,严格模式下是undefined 1 function mfoo () { 2 let a = 1 ; 3 console.log( this .a); 4 } 5 let a = 10 ; 6 mfoo(); // undefined 7 // 默认绑定一般是绑定到window上,严格模式下是undefined ? 隐性绑定 1 functi
默认绑定
1 function mfoo () { 2 let a = 1; 3 console.log(this.a); 4 } 5 let a = 10; 6 mfoo(); // undefined 7 // 默认绑定一般是绑定到window上,严格模式下是undefined ? 隐性绑定 1 function yfoo() { 2 console.log(this.a); 3 } 4 let obj = { 5 a: 10,6 yfoo: yfoo 7 } 8 yfoo(); // undefined 默认绑定 等价于window.a 9 obj.yfoo(); // 10 隐性绑定 函数yfoo执行的时候有了上下文对象,即obj。 ? 显性绑定
1 function bfoo () { 2 console.log(this.a); 3 } 4 5 let bobj = { a: 10 }; 6 bfoo = bfoo.bind(bobj); 7 8 bfoo(); // 10 ? 1 function xfoo () { 2 console.log(this.a); 3 } 4 let xobj = { 5 a: 888 6 } 7 xfoo.call(xobj); 8 9 xfoo.apply(xobj); ? new绑定 1 function nfoo () { 2 this.a = 10; 3 console.log(this); 4 } 5 nfoo(); 6 console.log(window.a); 7 let nobj = new nfoo(); 8 console.log(nobj.a); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |