function經典面試題

2021-10-14 15:25:19 字數 2544 閱讀 7577

lang

="en"

>

>

charset

="utf-8"

>

name

="viewport"

content

="width=device-width, initial-scale=1.0"

>

>

function經典面試題title

>

head

>

>

>

// 建構函式

function

foo(

) */

getname

=function()

console.

log(

'this指向'

,this);

return

this;}

// 函式foo上的靜態方法 -> 靜態方法指:乙個函式物件上的方法/屬性

foo.

getname

=function()

/* 擴充套件函式原型上的方法,推導:

var foo = new foo() -> foo.getname

new foo().getname

*/foo.prototype.

getname

=function()

// 給全域性變數賦值為乙個匿名函式

vargetname

=function()

// 函式宣告

function

getname()

// 下面函式執行的結果:

/* 分析執行過程:foo.getname();

這裡執行的是函式上的靜態方法 getname ,執行結果為 2

*/foo.

getname()

;// 執行結果:2

/* 分析執行過程:getname();

js預編譯過程,go

go 依次找:變數宣告和函式宣告

function () 變數賦值,執行結果為 4}*/

getname()

;// 執行結果:4

/* 分析執行過程:

直接執行foo(),foo函式中的this指向window

函式foo()返回值為this,也就是 this.getname()

也就是:window.getname()

執行函式foo時,getname重新被賦值,

getname= function ()

*/foo().

getname()

;// 執行結果:1

/* 分析執行結果:

因為上面的 window.getname() 的結果為 1

推測:直接訪問 getname() 的結果也是 1

*/getname()

;// 執行結果:1

/* 分析執行結果:

new 作用於 foo.getname() 而不是 foo 注意:區別 new foo(),此時new 作用於foo

其實訪問的是foo下面的函式getname() 也就是 foo靜態方法getname,所以執行結果為 2

此時 new 沒有什麼特殊含義,它僅僅 new 了 foo靜態方法getname指向的函式,function()

foo靜態方法getname中的this指向:foo函式

而 new foo.getname(),this指向乙個物件:foo.getname {}

*/newfoo.getname()

;// 執行結果:2

/* 分析執行結果:推導

var foo= new foo(); // 例項化物件 foo 例項化物件繼承了原型物件上的方法和屬性

foo.getname() 也就是 foo.prototype.getname

所以執行結果 3

*/newfoo()

.getname()

;// 執行結果:3

/* 分析執行結果:推導如上

這裡的第乙個new,沒有什麼實際意義,執行過程:

new foo()

new foo().getname(); // 這裡可以出結果 3

new new foo().getname(); // 再次 new 3

知識:new 的作用是讓函式內部返回乙個新的物件。

new fun.a() 其實就是呼叫fun.a(),只是new的物件是fun.a函式

*/newnew

foo().

getname()

;// 執行結果:3

/* 拓展內容: new new foo();

報錯:uncaught typeerror: (intermediate value) is not a constructor

*/script

>

body

>

html

>

經典面試題

1.以下三條輸出語句分別輸出什麼?char str1 abc char str2 abc const char str3 abc const char str4 abc const char str5 abc const char str6 abc cout boolalpha str1 str2 ...

經典面試題

我的老同學現在富得流油。他開創了乙個軟體公司,開發了一系列軟體,生意越做越大。今天他來到這個城市後馬上打 給我。是我啊!聽出來了嗎?是這樣的,我到這兒的大學招畢業生,要在這兒呆上五天,咱哥們趁這個時間好好聚一聚。我做東!既然他要做東,我理所當然順水推舟。人家是老闆,不吃白不吃!我來到他下榻的賓館,看...

經典面試題

分兩個情況 perfork模式 worker模式 前者程序模式 後者執行緒模式 故檢視方法也有區別 oldboy.log 參考 分析 此類問題是運維工作中最常見的問題。可以演變成分析日誌,檢視tcp各個狀態連線數,檢視單ip連線數排名等等 第一類 過濾網域名稱方法 方法很多 這裡給出六種為例。還可以...