44個javascript問題 43 來自知乎

2021-09-10 19:00:41 字數 543 閱讀 4470

function f() {}

var parent = object.getprototypeof(f);

看看下面輸出什麼

console.log(f.name);

f是函式,f.name對應函式名,沒什麼說的,輸出f

console.log(parent.name);

parent是f的原型物件,函式的原型物件還是函式,所以我理解上面**相當於console.log((function() {}).name),輸出空

console.log(typeof eval(f.name));

檢視了一下幫助,eval只接收原始的字串作為引數,比如eval('alert("gunsmoke")'),如果引數是字串變數,則會原封不動的返回,於是eval(f.name)返回f,而f在前面已經定義了,是函式,所以輸出function

console.log(typeof eval(parent.name));

前面已經知道parent.name返回空,但是輸出為undefined,這個我也不太理解,看完原型物件後再回頭看看.

44個javascript問題 29 來自知乎

var a b object.prototype a.prototype b,object.getprototypeof a b 返回結果為 false,true 首先prototype屬性是函式才有的屬性,物件是沒有的,物件要想訪問原型物件需要用object.proto 因此a.prototype...

44個javascript問題 3 來自知乎

console.log 3,2,1 reduce math.pow 首先reduce函式需要傳兩個形參,第乙個是前一次迭代得到的值,第二個是當前的陣列元素,但是上面沒有傳形參,但系統會用arguments給函式傳實參,傳的arguments有4個,分別是3,2,1,3,2,1 於是第一次迭代使用了3...

44個javascript問題 9 來自知乎

function showcase value showcase new string a 輸出結果是do not know 這裡主要看new string a 返回什麼,以下做個試驗。console.log new string bggg 輸出 string bggg 並不是預料中的bggg.ne...