function sendpost(callback)
const manager =
this.counter++
sendpost(onsuccess)}}
manager.increase()
//輸出 undefined。
//原因:函式shendpost是在外面定義的window上的函式,所以內部this指向window,
//在另乙個定義物件中呼叫shendpost函式其內部的this指向不會改變,因為this是誰呼叫指向誰。
1.全域性情況下
在全域性環境下,this 始終指向全域性物件(window), 無論是否嚴格模式;
2.函式直接呼叫function show()
show();//指向window,因為show方法定義在window上,是通過window方法呼叫的。
//這句話實際上等價於window.show();
非嚴格模式下,this 預設指向全域性物件window
而嚴格模式下, this為undefined
3.物件內部的this指向var name="the window";
var object=
}var show=object.packname;
console.log(show());
//當沒有明確的執行時的當前物件時,this指向全域性物件window。
這裡show=object.packname;
show();//函式直接呼叫
這裡show沒有明確的指明執行物件,所以等同於 window.show();結果是 the window
物件內部方法的this指向呼叫這些方法的物件,
函式的定義位置不影響其this指向,this指向只和呼叫函式的物件有關。(this的指向在定義時不能確認,只有在呼叫時才能最終確定)
多層巢狀的物件,內部方法的this指向離被呼叫函式最近的物件(window也是物件,其內部物件呼叫方法的this指向內部物件, 而非window)。
3.建構函式的this//1
var o =
};//通過物件.方法呼叫,this會指向物件
console.log(o.f()); //37
//定義了這個方法,但是沒有呼叫,不確定this指向
var a = o.f;
直接呼叫a這個方法,相當於window.a為undefined
console.log(a()): //undefined
var o = ;
function independent()
o.f = independent;
//定義乙個物件o,定乙個方法,用o.f引用這個方法,相當於:
var o =
};通過o.f()呼叫,使this指向了o物件
console.log(o.f()); // 37
= ;
//通過o.b來呼叫g()方法,使this指向了o.b
console.log(o.b.g()); // 42
建構函式中的this與被建立的新物件繫結。
注意:當構造器返回的預設值是乙個this引用的物件時,可以手動設定返回其他的物件,如果返回值不是乙個物件,返回this。
//分析**this 指向詳細解析(箭頭函式) - chris-dc - (cnblogs.com)
面試筆試題
1 昨天參加一公司筆試,給幾道演算法題整懵了,其實也不難,但好久沒有碰演算法,只是有思路,要讓我在這麼短的時間內寫出程式來還是不行。2 這裡將其中一道稍微複雜一點的演算法題寫下來,以此小結。3 4 題目描述 5 將n個雞蛋放入到m個籃子中去 n m 保證每個籃子中至少乙個雞蛋,然後指定乙個數x,要求...
面試筆試題
1.文字檔案裡面有很多單詞 單詞與單詞之間以空格 換行符隔開,且不管單個單詞的正確性 統計各單詞出現的次數,刪掉出現次數最少的那些 實現 fstream讀入事先準備好的檔案test.txt,存到c 的關聯容器map,用單詞string做key,出現的次數int做value,找到最小的value,然後...
面試筆試題
智力 1.有abcd四人過橋,時間為1,2,5,10,只有乙個手電筒,同時只能過兩人,怎麼過17分鐘能過完?2 1 10 2 2 走的快的就多走走 2.假設有乙個池塘,裡面有無窮多的水,現有兩個空水壺,容積分別為5公升和6公升,如何只用這2個水壺從池塘裡取得3公升的水 1l 6 5 2l 6 5 1...