摘要:答案解析是返回的函數(shù)的形參個數(shù),所以為返回的是函數(shù)調(diào)用時的實參個數(shù),所以為初始值就是正被執(zhí)行的對象用于在函數(shù)內(nèi)部調(diào)用自身,對象本身是個由函數(shù)調(diào)用時傳入的實參組成的偽數(shù)組,訪問單個參數(shù)的方式與訪問數(shù)組元素的方式相同。
1 function test (x, y, z) {
console.log(test.length) console.log(arguments.length) console.log(arguments.callee === test) console.log(arguments[2])
}
test(10,20)
答案:3 2 true undefined
解析:
test.length是返回的函數(shù)的形參個數(shù),所以為3;
arguments.length返回的是函數(shù)調(diào)用時的實參個數(shù),所以為2;
arguments.callee:初始值就是正被執(zhí)行的 Function 對象,用于在函數(shù)內(nèi)部調(diào)用自身,arguments對象本身是個由函數(shù)調(diào)用時傳入的實參組成的偽數(shù)組,訪問單個參數(shù)的方式與訪問數(shù)組元素的方式相同。
只傳入了兩個參數(shù),自然為undefined.
2 var a = 10
a.pro = 10
console.log(a.pro + a)
var s = "hello"
s.pro="world"
console.log(s.pro+s)
答案:NaN undefinedhello
解析:JavaScript引擎內(nèi)部在處理對某個基本類型 a進行形如a.pro的操作時,會在內(nèi)部臨時創(chuàng)建一個對應(yīng)的包裝類型(對數(shù)字類型來說就是Number類型)的臨時對象,并把對基本類型的操作代理到對這個臨時對象身上,使得對基本類型的屬性訪問看起來像對象一樣。但是在操作完成后,臨時對象就銷毀了,下次再訪問時,會重新建立臨時對象,當(dāng)然就會返回undefined了
3
var f =1 if(!f) { var a =10 } function fn() { var b =20 c = 30 } fn() console.log(a) console.log(c) console.log(b)
答案:undefined 30 報錯:b is not defined
解析:
1、沒有用var聲明的是全局變量,即便在函數(shù)內(nèi)部;
2、只有在function內(nèi)部新聲明的才是局部變量,在if,while,for等聲明的變量其實是全局變量(除非本身在function內(nèi)部)
3、因為變量提升,雖然if塊的內(nèi)容沒執(zhí)行,但是預(yù)解析階段會執(zhí)行var a,只是沒有賦值而已,因此打印a是undefined而打印b會報錯
4
var length = 10 function fn () { console.log(this.length) } var obj = { length: 5, method: function(fn) { fn() arguments[0](); } }
obj.method(fn,1)
答案:10,2,第一次輸出10應(yīng)該沒有什么異議,這里的this指向window,第二個調(diào)用arguments[0]()相當(dāng)于執(zhí)行arguments調(diào)用方法,this指向arguments,而這里傳了兩個參數(shù),故輸出arguments長度為2。
5 function fn(a) {
console.log(a)
var a = 2
function a() {}
console.log(a)
}
fn(1)
答案:f a() { } 2
解析:我們知道預(yù)解析階段,變量聲明和函數(shù)聲明會提前,且變量名和函數(shù)名同名時,函數(shù)優(yōu)先級高于變量,會覆蓋變量,因此第一個輸出的是f a(){ },繼續(xù)執(zhí)行,會執(zhí)行a=2,再輸出的時候就會輸出2,不理解的同學(xué)百度一下變量提升和函數(shù)提升
6 已知數(shù)組,編寫一個程序?qū)?shù)組便情話并且去掉其中的重復(fù)數(shù)字,然后升序排列
[[11,22,22],[13,14,15,15],[16,17,18,19,[11,12,[12,13,[14]]]],12]
7 實現(xiàn)一個函數(shù)add,滿足以下結(jié)果
add(1) // 1
add(1,2) // 3
add(1)(2) // 3
add(1,2)(3,4) // 10
add(1)(2)(3) //6
function add () { const arg = [...arguments] function sum () { arg.push(...arguments) return sum } sum.toString = function () { return arg.reduce((x, y) => { return x + y }) } return sum } console.log(add(1)) console.log(add(1, 2)) console.log(add(1, 2)(3, 4)(5,6))
8 看代碼
function Foo () { getName = function () { console.log(1) } return this } Foo.getName = function () { console.log(2) } Foo.prototype.getName = function () { console.log(3) } var getName = function () { console.log(4) } function getName () { console.log(5) } Foo.getName() getName() Foo().getName() getName() new Foo.getName() new Foo().getName() new new Foo().getName()
答案:2 4 1 1 2 3 3
1 訪問的是Foo函數(shù)上存儲的靜態(tài)屬性
2 函數(shù)表達式覆蓋函數(shù)聲明,因此調(diào)用的是覆蓋后的getName
3 先執(zhí)行了Foo(),此時返回window,并且函數(shù)里getName沒有var 所以覆蓋了全局的 因此是1
4 等同于window.getName 4
5 點運算符優(yōu)選與new, 執(zhí)行為 new (Foo.getName)()
6 執(zhí)行順序為 (new Foo()).getName() (new Foo()) 返回Foo一個實例
7 執(zhí)行順序為 new ((new Foo()).getName)() 先初始化Foo實例 然后將其原型上的getName 作為構(gòu)造函數(shù)再次new
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/105626.html
摘要:好吧,我承認太標題黨了,這篇文章是通過一道前端面試題引出的純技術(shù)討論。我先要矯情無比的從中外詩歌說起。這一星期陸陸續(xù)續(xù)面試了不少于個人,其中不乏工作履歷突出的候選者。這樣做的問題在于循環(huán)并沒有要求枚舉對象的修改與當(dāng)前循環(huán)保持一致。 好吧,我承認太標題黨了,這篇文章是通過一道前端面試題引出的純技術(shù)討論。我先要矯情無比的從中外詩歌說起。 傳統(tǒng)的佛學(xué)經(jīng)典里,被世人熟知的有這樣一句話:一花一世...
摘要:好吧,我承認太標題黨了,這篇文章是通過一道前端面試題引出的純技術(shù)討論。我先要矯情無比的從中外詩歌說起。這一星期陸陸續(xù)續(xù)面試了不少于個人,其中不乏工作履歷突出的候選者。這樣做的問題在于循環(huán)并沒有要求枚舉對象的修改與當(dāng)前循環(huán)保持一致。 好吧,我承認太標題黨了,這篇文章是通過一道前端面試題引出的純技術(shù)討論。我先要矯情無比的從中外詩歌說起。 傳統(tǒng)的佛學(xué)經(jīng)典里,被世人熟知的有這樣一句話:一花一世...
摘要:面試題目匯總前言近期在找工作,也在讀前端面試江湖這本書,書中整理了很多基礎(chǔ)的面試題目,在書中也發(fā)現(xiàn)了一些錯誤。好記性不如爛筆頭,于是整理下對自己有益的題目,都是一些較為基礎(chǔ)的題目后期還會更新。,返回一個數(shù)組,成員為匹配的字符串。 面試題目匯總 前言 近期在找工作,也在讀 前端面試江湖 這本書,書中整理了很多基礎(chǔ)的面試題目,在書中也發(fā)現(xiàn)了一些錯誤。好記性不如爛筆頭,于是整理下對自己有益的...
摘要:面試題目匯總前言近期在找工作,也在讀前端面試江湖這本書,書中整理了很多基礎(chǔ)的面試題目,在書中也發(fā)現(xiàn)了一些錯誤。好記性不如爛筆頭,于是整理下對自己有益的題目,都是一些較為基礎(chǔ)的題目后期還會更新。,返回一個數(shù)組,成員為匹配的字符串。 面試題目匯總 前言 近期在找工作,也在讀 前端面試江湖 這本書,書中整理了很多基礎(chǔ)的面試題目,在書中也發(fā)現(xiàn)了一些錯誤。好記性不如爛筆頭,于是整理下對自己有益的...
摘要:面試題目匯總前言近期在找工作,也在讀前端面試江湖這本書,書中整理了很多基礎(chǔ)的面試題目,在書中也發(fā)現(xiàn)了一些錯誤。好記性不如爛筆頭,于是整理下對自己有益的題目,都是一些較為基礎(chǔ)的題目后期還會更新。,返回一個數(shù)組,成員為匹配的字符串。 面試題目匯總 前言 近期在找工作,也在讀 前端面試江湖 這本書,書中整理了很多基礎(chǔ)的面試題目,在書中也發(fā)現(xiàn)了一些錯誤。好記性不如爛筆頭,于是整理下對自己有益的...
摘要:在掘金上看到了一位大佬發(fā)了一篇很詳細的面試記錄文章一年半經(jīng)驗,百度有贊阿里面試總結(jié),為了查漏補缺,抽空就詳細做了下。 在掘金上看到了一位大佬發(fā)了一篇很詳細的面試記錄文章-《一年半經(jīng)驗,百度、有贊、阿里面試總結(jié)》,為了查漏補缺,抽空就詳細做了下。(估計只有我這么無聊了哈哈哈) 有給出的或者有些不完善的答案,也盡力給出/完善了(可能有錯,大家自行辨別)。有些很困難的題目(例如實現(xiàn)Promi...
閱讀 3684·2021-10-09 09:44
閱讀 3342·2021-09-22 15:29
閱讀 3115·2019-08-30 15:54
閱讀 3018·2019-08-29 16:19
閱讀 2142·2019-08-29 12:50
閱讀 594·2019-08-26 14:04
閱讀 1696·2019-08-23 18:39
閱讀 1344·2019-08-23 17:59