this系結的優先級
- 默認系結的優先級在四條規則中最低,
- 顯示系結和隱式系結誰的優先級會更高?
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
通過以上代碼可以發現顯式系結優先級高于隱式系結,
- 那么隱式系結和new系結誰的優先級會高?
function foo(something){
this.a = something;
}
var obj1 = {
foo : foo
}
obj1.foo(2);
console.log(obj1.a);//2
var bar = new obj1.foo(3);
console.log(bar.a);//3
通過以上代碼可以發現new系結優先級會高于隱式系結
-
new系結優先級高于顯式系結(這個不大好理解,所以沒解釋)
-
所以
new系結>顯式系結>隱式系結>默認系結
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/224983.html
標籤:其他
上一篇:this系結的優先級
