1、如果函數(shù)無(wú)明確的返回值,或調(diào)用了沒有參數(shù)的return語(yǔ)句,那么它真正返回的值是( )。
A、null
B、-1
C、0
D、undefined
2、JavaScript函數(shù)的定義會(huì)包括一個(gè)稱為形參的標(biāo)識(shí)符列表,這些參數(shù)在函數(shù)體中像局部變量一樣工作。有關(guān)arguments說(shuō)明錯(cuò)誤的是( )。
A、arguments是個(gè)比較特殊的對(duì)象,使用者無(wú)需明確指出參數(shù)名即可訪問(wèn)到它們。
B、經(jīng)常使用arguments的屬性length來(lái)檢測(cè)傳遞給函數(shù)的參數(shù)個(gè)數(shù)。
C、借助于arguments對(duì)象,我們可以模擬函數(shù)重載。
D、arguments是一個(gè)標(biāo)準(zhǔn)數(shù)組
3、with語(yǔ)句引入的根本原因在于( )。
A、用來(lái)臨時(shí)擴(kuò)展作用域鏈。
B、提高程序運(yùn)行效率。
C、簡(jiǎn)化嚴(yán)格模式下代碼的書寫。
D、使用with語(yǔ)句的代碼更易于優(yōu)化。
4、有關(guān)this運(yùn)算符說(shuō)法不正確的是( )。
A、this運(yùn)算符總是指向當(dāng)前的對(duì)象。
B、在JS中,由于JS的動(dòng)態(tài)性,this的指向在運(yùn)行時(shí)才確定。
C、this關(guān)鍵字在Javascript中和執(zhí)行環(huán)境,而非聲明環(huán)境有關(guān)。
D、通過(guò)早期綁定可以實(shí)現(xiàn)對(duì)this的高度復(fù)用。
5、JavaScript中的錯(cuò)誤可以分為語(yǔ)法錯(cuò)誤和( )。
A、運(yùn)行錯(cuò)誤
B、不正常錯(cuò)誤
C、形式錯(cuò)誤
D、系統(tǒng)錯(cuò)誤
6、有關(guān)JS中的異常處理,錯(cuò)誤的結(jié)論是( )。
A、語(yǔ)法錯(cuò)誤一般簡(jiǎn)稱為錯(cuò)誤(Error);而運(yùn)行錯(cuò)誤一般也叫做異常(Exception)。
B、JavaScript異常處理機(jī)制主要是通過(guò)try/catch/finally三子句聯(lián)合實(shí)現(xiàn)的。
C、throw語(yǔ)句允許我們創(chuàng)建自定義錯(cuò)誤。
D、try、catch和finally三個(gè)子句必須聯(lián)合使用。
7、有關(guān)JS標(biāo)簽語(yǔ)句說(shuō)法錯(cuò)誤的有( )。
A、在Javascript中,標(biāo)簽是一個(gè)標(biāo)準(zhǔn)的有效的標(biāo)識(shí)符(不能是保留字)。
B、標(biāo)簽聲明可以放在任何一個(gè)語(yǔ)句(或者語(yǔ)句塊)前面。
C、在目前ES5規(guī)則中雖然goto是Javascript的保留關(guān)鍵字,但是一般很少使用goto語(yǔ)句。
D、語(yǔ)句標(biāo)簽只有在它所起作用的語(yǔ)句內(nèi)是有定義的。
8、有關(guān)循環(huán)語(yǔ)句說(shuō)法正確的是( )。
A、ECMAScript規(guī)范指定for/in循環(huán)按照屬性定義的先后順序來(lái)枚舉對(duì)象屬性。
B、do/while循環(huán)最后必須使用分號(hào)結(jié)尾。
C、for循環(huán)中三個(gè)表達(dá)式中至少要存在一個(gè),而且兩個(gè)分號(hào)是必不可少的。
D、在計(jì)算循環(huán)表達(dá)式之前,while循環(huán)語(yǔ)句至少會(huì)執(zhí)行循環(huán)體一次。
9、有關(guān)for循環(huán)語(yǔ)句說(shuō)法錯(cuò)誤的是( )。
A、for循環(huán)中三個(gè)表達(dá)式中的任何一個(gè)都可以忽略,但是兩個(gè)分號(hào)是必不可少的。
B、for循環(huán)語(yǔ)句的初始化部分僅在循環(huán)開始之前執(zhí)行一次。
C、for循環(huán)變量必須是數(shù)字類型。
D、for語(yǔ)句中的所有三部分(初始化部分、測(cè)試部分和更新部分)都是可選的。
10、有關(guān)if語(yǔ)句說(shuō)法不正確的是( )。
A、if后面的條件必須使用括號(hào)包圍。
B、有的if語(yǔ)句可以沒有else部分。
C、if語(yǔ)句也支持嵌套。
D、else中語(yǔ)句的執(zhí)行總是會(huì)匹配最外層的那個(gè)if語(yǔ)句中的條件判斷。
11、有關(guān)switch語(yǔ)句的結(jié)論錯(cuò)誤的是( )。
A、兩個(gè)case不可共同使用一個(gè)break語(yǔ)句。
B、對(duì)每個(gè)case的匹配操作實(shí)際上是“===”恒等運(yùn)算符比較,因此,表達(dá)式和case的匹配并不會(huì)做任何類型轉(zhuǎn)換。
C、ECMAScript標(biāo)準(zhǔn)的確允許每個(gè)case關(guān)鍵字跟隨任意的表達(dá)式。
D、如果在函數(shù)中使用switch語(yǔ)句,有時(shí)可以使用return來(lái)代替break
12、有關(guān)JS函數(shù)不正確的結(jié)論有( )。
A、定義函數(shù)時(shí)聲明了多個(gè)參數(shù),但調(diào)用時(shí)可以不使用它們。
B、函數(shù)體是由JavaScript語(yǔ)句組成的,必須用花括號(hào)括起來(lái),即使函數(shù)體不包含任何語(yǔ)句。
C、在嵌套時(shí),函數(shù)聲明可以出現(xiàn)在所嵌套函數(shù)的頂部也可以出現(xiàn)在底部。
D、定義函數(shù)時(shí),并不執(zhí)行函數(shù)體內(nèi)的語(yǔ)句,它和調(diào)用函數(shù)時(shí)待執(zhí)行的新函數(shù)對(duì)象相關(guān)聯(lián)。
13、有關(guān)函數(shù)聲明語(yǔ)句和函數(shù)定義表達(dá)式區(qū)別錯(cuò)誤的結(jié)論是( )。
A、函數(shù)聲明語(yǔ)句創(chuàng)建的變量可以使用delete刪除。
B、使用函數(shù)定義表達(dá)式定義的函數(shù),只有變量(函數(shù)名)聲明提前了——變量的初始化代碼仍然在原來(lái)的位置。
C、函數(shù)聲明語(yǔ)句中的函數(shù)被顯式地“提前”到了腳本或函數(shù)的頂部。
D、都創(chuàng)建了新的函數(shù)對(duì)象,但函數(shù)聲明語(yǔ)句中的函數(shù)名同時(shí)也是一個(gè)變量名,變量指向函數(shù)對(duì)象。
14、有關(guān)delete運(yùn)算符正確的說(shuō)法是( )。
A、delete可以用于刪除任何對(duì)象屬性。
B、delete不可以用于刪除數(shù)組元素。
C、delete可以用于刪除任何聲明的變量
D、語(yǔ)句delete obj1.x;中,delete用于刪除對(duì)象obj1的屬性x。
15、有關(guān)var語(yǔ)句的錯(cuò)誤結(jié)論是( )。
A、var聲明的變量有時(shí)可以通過(guò)delete刪除的。
B、如果在頂層代碼中使用var語(yǔ)句,它聲明的是全局變量。
C、如果var語(yǔ)句出現(xiàn)在函數(shù)體內(nèi),那么它定義的是一個(gè)局部變量
D、var和function都是聲明語(yǔ)句,用于聲明或者定義變量或者函數(shù)。
16、有關(guān)JS變量說(shuō)法錯(cuò)誤的是( )。
A、循環(huán)語(yǔ)句中的變量不定是局部變量
B、多次聲明同一個(gè)變量沒有問(wèn)題。
C、JS變量一旦定義就無(wú)法再重新定義。
D、var語(yǔ)句可用于聲明或者定義一個(gè)或者多個(gè)變量。
17、有關(guān)in運(yùn)算符錯(cuò)誤的結(jié)論是()。
A、in運(yùn)算符不可用于數(shù)組元素的遍歷。
B、in運(yùn)算符最主要和最典型的用途是:判斷對(duì)象是否存在指定名稱的屬性。
C、如果in運(yùn)算符右側(cè)的對(duì)象擁有一個(gè)名為左操作數(shù)值的屬性名,那么表達(dá)式返回true;否則,返回false。
D、in運(yùn)算符希望它的左操作數(shù)是一個(gè)字符串或可以轉(zhuǎn)換為字符串,希望它的右操作數(shù)是一個(gè)對(duì)象。
18、有關(guān)使用typeof運(yùn)算符的不正確結(jié)論是( )。
A、typeof運(yùn)算符后面的參數(shù)可以使用括號(hào)引起來(lái),也可以不帶括號(hào)。
B、typeof運(yùn)算符只使用一個(gè)參數(shù)。
C、使用typeof運(yùn)算符檢測(cè)的返回結(jié)果值總是一個(gè)小寫字符串形式。
D、typeof和instanceof有時(shí)可以相互代替。
19、使用instance運(yùn)算符時(shí)正確的結(jié)論是( )。
A、表達(dá)式“{} instanceof Object;”沒有任何問(wèn)題。
B、instance運(yùn)算符不包含對(duì)“父類”(或超類)的檢測(cè)。
C、當(dāng)instanceof的左操作數(shù)不是對(duì)象的話,instanceof不一定返回false。
D、instanceof的左操作數(shù)不可以是直接量形式;否則,JS系統(tǒng)認(rèn)為語(yǔ)句表達(dá)不完整。
20、給定x=6以及y=3,下列結(jié)論正確解釋了邏輯運(yùn)算符的是( )。
A、x<10&&y>1為true
B、x==5||y==5為true
C、!(x==y)為false
D、!!x與x含義一樣
21、如下不正確的結(jié)論是( )。
A、關(guān)系表達(dá)式的運(yùn)算結(jié)果未必總是為true或fa1se
B、假值是false、null、undefined、0、-0、NaN和"";所有其他的值(包括所有對(duì)象)都是真值。
C、“&&”的操作數(shù)并不一定是布爾值。
D、關(guān)系運(yùn)算符的優(yōu)先級(jí)比“&&”和“||”要高
22、已知“var obj={a:"Hello"};”,于是“obj && obj.a; ”的結(jié)果是( )。A、'Hello'
B、null
C、true
D、false
23、有關(guān)各邏輯運(yùn)算符錯(cuò)誤的結(jié)論有( )。
A、?。與X含義是一樣的。
B、!總是返回true或者false。
C、如果||運(yùn)算符計(jì)算結(jié)果為假值,那么再計(jì)算右側(cè)的表達(dá)式,并返回這個(gè)表達(dá)式的計(jì)算結(jié)果。
D、語(yǔ)句“if(a==b) stop(); ”與語(yǔ)句“(a==b)&&stop();”表達(dá)含義一致。
24、有關(guān)下列各邏輯運(yùn)算符的運(yùn)算關(guān)系錯(cuò)誤的是( )。
A、x==o&&y==o與(x==o)&&(y==o)等價(jià)
B、!(p&&q)===!p | !q;
C、!(p||q)===!p && !q;
D、!(p&&q)===!p || !q;
25、有關(guān)各邏輯運(yùn)算符錯(cuò)誤的結(jié)論有( )。
A、當(dāng)“&&”右側(cè)的表達(dá)式具有某種副作用的時(shí)候要格外小心。因?yàn)檫@些帶有副作用的表達(dá)式的執(zhí)行依賴于左操作數(shù)的計(jì)算結(jié)果。
B、實(shí)際開發(fā)中,JS邏輯與運(yùn)算符“&&”不可能出現(xiàn)不會(huì)去計(jì)算右操作數(shù)的情形。
C、實(shí)際開發(fā)中,JS邏輯與運(yùn)算符“||”可能出現(xiàn)不會(huì)去計(jì)算右操作數(shù)的情形。
D、實(shí)際開發(fā)中,JS邏輯與運(yùn)算符“&&”可能出現(xiàn)不會(huì)去計(jì)算右操作數(shù)的情形。
26、已經(jīng)“var a=[1,2,3,4,5];”,那么錯(cuò)誤的是( )。
A、“1 in a;”結(jié)果是true。
B、delete用于刪除一個(gè)數(shù)組元素時(shí),數(shù)組長(zhǎng)度并沒有改變。
C、可使用“delete a['2'];”刪除數(shù)組第三個(gè)元素。
D、可以使用“delete a[2];”刪除數(shù)組第二個(gè)元素。
27、在Node命令行狀態(tài)下已知“var o={x:1, y:2};”。不正確的結(jié)論是( )。
A、“typeof o.x;”將返回"number"。
B、“delete o.x;”可以刪除對(duì)象o的屬性x,而且返回值是true。
C、“delete o;”可以刪除對(duì)象o。
D、“delete o.x;”將刪除一個(gè)對(duì)象屬性,返回true。
28、關(guān)于JS賦值操作符的結(jié)合性錯(cuò)誤的結(jié)論是( )。
A、賦值操作符的結(jié)合性是從左至右。
B、“i=j=k="Hello Pomelo!";”的含義是把三個(gè)變量都初始化為"Hello Pomelo!"。
C、賦值操作符的結(jié)合性是從右至左。
D、賦值表達(dá)式的值就是右操作數(shù)的值。
29、正確的結(jié)論是( )。
A、"one"<3結(jié)果為true。
B、"111"<3結(jié)果為true。
C、"100"+200的結(jié)果是300。
D、加號(hào)運(yùn)算符和比較運(yùn)算符的行為都有所不同。加號(hào)運(yùn)算符更偏愛字符串,而比較運(yùn)算符則更偏愛數(shù)字。
參考答案:
1-5:D、D、A、D、A
6-10:D、C、B、C、D
11-15:A、C、A、D、A
16-20:C、A、D、D、A
21-25:A、A、A、B、B
26-29:D、C、A、D