一些蛋疼的JavaScript語法特性

奇怪的JavaScript試題
服務器君一共花費了189.640 ms進行了5次數據庫查詢,努力地為您提供了這個頁面。
試試閱讀模式?希望聽取您的建議

JavaScript有很多地方和我們熟知的C、Java等的編程習慣不同,這些不同會產生很多讓人意想不到的事情。前段時間在知乎有人發了寫Javascrtip試題,覺得挺好玩的,這里跟大家分享一下。

01

(function () {  
    return typeof arguments;  
})();  
A. "object"
B. "array"
C. "arguments"
D. "undefined"

答案:A

02

var f = function g() {
        return 23;
    };
typeof g();
A. "number"
B. "undefined"
C. "function"
D. Eorror

答案:D

03

(function (x) {
    delete x;
    return x;
})(1);
A. 1
B. null
C. undefined
D. Error

答案:A

04

var y = 1,
    x = y = typeof x;
x;
A. 1
B. "number"
C. undefined
D. "undefined" 

答案: D

05

(function f(f) {
    return typeof f();
})(function () {
    return 1;
});
A. "number"
B. "undefined"
C. "function"
D. Error

答案:A

06

var foo = {
    bar: function () {
        return this.baz;
    },
    baz: 1
};
(function () {
    return typeof arguments[0]();
})(foo.bar);
A. "undefined"
B. "object"
C. "number"
D. "function"

答案:A

07

var foo = {
    bar: function () {
        return this.baz;
    },
    baz: 1
};
typeof (f = foo.bar)();
A. "undefined"
B. "object"
C. "number"
D. "function"

答案:A

08

var f = (function f() {
    return "1";
}, function g() {
    return 2;
})();
typeof f;
A. "string"
B. "number"
C. "function"
D. "undefined"

答案: B

09

var x = 1;
if (function f() {}) {
    x += typeof f;
}
x;
A. 1
B. "1function"
C. "1undefined"
D. NaN

答案: C

10

var x = [typeof x, typeof y][1];
typeof typeof x;
A. "number"
B. "string"
C. "undefined"
D. "object"

答案: B

11

(function (foo) {
    return typeof foo.bar;
})({
    foo: {
        bar: 1
    }
});
A、“undefined” 
B、“object” 
C、“number” 
D、Error

答案: A

12

(function f() {
    function f() {
        return 1;
    }
    return f();
    function f() {
        return 2;
    }
})();
A、1 
B、2 
C、Error (e.g. “Too much recursion”) 
D、undefined

答案:B

13

function f() {
    return f;
}
new f() instanceof f;
A、true 
B、false

答案:B

14

with (function(x, undefined){}) length;
A、1 
B、2 
C、undefined 
D、Error

答案:B

具體答案大家可以自己運行得出,為什么會得出這樣的結果,我也有一些不懂的地方,怕誤人子弟,所以這里就不解答這里的問題了。

本文地址:http://www.snpmgr.live/librarys/veda/detail/1593,歡迎訪問原出處。

不打個分嗎?

轉載隨意,但請帶上本文地址:

http://www.snpmgr.live/librarys/veda/detail/1593

如果你認為這篇文章值得更多人閱讀,歡迎使用下面的分享功能。
小提示:您可以按快捷鍵 Ctrl + D,或點此 加入收藏

大家都在看

閱讀一百本計算機著作吧,少年

很多人覺得自己技術進步很慢,學習效率低,我覺得一個重要原因是看的書少了。多少是多呢?起碼得看3、4、5、6米吧。給個具體的數量,那就100本書吧。很多人知識結構不好而且不系統,因為在特定領域有一個足夠量的知識量+足夠良好的知識結構,系統化以后就足以應對大量未曾遇到過的問題。

奉勸自學者:構建特定領域的知識結構體系的路徑中再也沒有比學習該專業的專業課程更好的了。如果我的知識結構體系足以囊括面試官的大部分甚至吞并他的知識結構體系的話,讀到他言語中的一個詞我們就已經知道他要表達什么,我們可以讓他坐“上位”畢竟他是面試官,但是在知識結構體系以及心理上我們就居高臨下。

所以,閱讀一百本計算機著作吧,少年!

《人月神話》 弗雷德里克·布魯克斯 (作者), 汪穎 (譯者)

《人月神話》原文:The Mythical Man-Month: The Essays on Software Engineering, 2nd ed.在軟件領域,很少能有像《人月神話》一樣具有深遠影響力并且暢銷不衰的著作。Brooks博士為人們管理復雜項目提供了最具洞察力的見解。既有很多發人深省的觀點,又有大量軟件工程的實踐。本書內容來自Brooks博士在IBM公司System/360家族和OS/360中的項目管理經驗。該書英文原版一經面世,即引起業內人士的強烈反響,后又譯為德、法、日、俄中等多種語言,全球銷量數百萬冊。確立了其在行業內的經典地位。

更多計算機寶庫...

燃烧吧足球登陆