面試筆試題分析之一

2022-09-20 19:24:08 字數 1894 閱讀 1583

function sendpost(callback) 

const manager =

this.counter++

sendpost(onsuccess)}}

manager.increase()

//輸出 undefined。

//原因:函式shendpost是在外面定義的window上的函式,所以內部this指向window,

//在另乙個定義物件中呼叫shendpost函式其內部的this指向不會改變,因為this是誰呼叫指向誰。

1.全域性情況下

在全域性環境下,this 始終指向全域性物件(window), 無論是否嚴格模式;

function show()

show();//指向window,因為show方法定義在window上,是通過window方法呼叫的。

//這句話實際上等價於window.show();

2.函式直接呼叫

非嚴格模式下,this 預設指向全域性物件window

而嚴格模式下, this為undefined

var name="the window";

var object=

}var show=object.packname;

console.log(show());

//當沒有明確的執行時的當前物件時,this指向全域性物件window。

這裡show=object.packname;

show();//函式直接呼叫

這裡show沒有明確的指明執行物件,所以等同於 window.show();結果是 the window

3.物件內部的this指向

物件內部方法的this指向呼叫這些方法的物件,

函式的定義位置不影響其this指向,this指向只和呼叫函式的物件有關。(this的指向在定義時不能確認,只有在呼叫時才能最終確定)

多層巢狀的物件,內部方法的this指向離被呼叫函式最近的物件(window也是物件,其內部物件呼叫方法的this指向內部物件, 而非window)。

//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

3.建構函式的this

建構函式中的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...