标签:优先 color bar 总结 s系列 his var 调用 优先级
function foo(){ console.log(this.a) } var obj1 = { a: 2, foo: foo } var obj2 = { a: 3, foo: foo } obj1.foo(); // 2 obj2.foo(); // 3 obj1.foo.call(obj2); // 3 obj2.foo.call(obj1); // 2
这个例子可以看到,显示绑定优先级比隐式绑定更高。
function foo(something) { this.a = something } var obj1 = { foo: foo } var obj2 = { } obj1.foo(2); console.log(obj1.a); // 2 obj1.foo.call(obj2, 3); console.log(obj2.a); // 3 var bar = new obj1.foo(4); console.log(obj1.a); // 2 console.log(bar.a); //4
这个例子可以看出 new 绑定比隐式绑定优先高,但是 new 绑定和显示绑定谁的优先级高呢?
function foo(something) { this.a = something } var obj1 = { } var bar = foo.bind(obj1); bar(2); console.log(obj1.a); //2 var baz = new bar(3); console.log(obj1.a); // 2 console.log(baz.a); // 3
new 修改了硬绑定调用 bar() 中的 this
标签:优先 color bar 总结 s系列 his var 调用 优先级
原文地址:https://www.cnblogs.com/wzndkj/p/12440934.html