一、
以下表達(dá)式返回結(jié)果是:parseInt("10.1",16)
- A.8
- B.16
- C.10
- D.NaN
解:parseInt() 函數(shù)可解析一個(gè)字符串甫何,并返回一個(gè)整數(shù)掉丽。parseInt()的語(yǔ)法是:
parseInt(string, radix)
參數(shù)string表示要解析的字符串码邻,radix表示要轉(zhuǎn)換成什么進(jìn)制的窥摄。題目中的意思是10.1取整,然后轉(zhuǎn)換成16進(jìn)制的测蹲,所以取整就是10,10的16進(jìn)制就是16莹捡。選B。
二扣甲、單選(2分)
以下代碼執(zhí)行后a,b的值分別是
var a = 0;
var b = true||a++;
A.1篮赢,0
B.0,1
C.0琉挖,true
D.1启泣,true
解:選C。 這題考的是||邏輯或的用法示辈。邏輯或的用法是:a || b : 將a, b轉(zhuǎn)換為Boolean類型, 再執(zhí)行邏輯或, true返回a, false返回b寥茫。轉(zhuǎn)換規(guī)則:對(duì)象為true非零數(shù)字為true,非空字符串為true矾麻,其他為false纱耻。邏輯或執(zhí)行的是短路操作芭梯,b=true是true,那么a++就不會(huì)去執(zhí)行弄喘,所以a=0玖喘。
三、單選(2分)
以下表達(dá)式返回結(jié)果分別是1&&0
- A.true
- B.false
- C.0
- D.1
解:這題選C蘑志。這題的考點(diǎn)是&&邏輯與累奈。邏輯與的用法是a && b : 將a, b轉(zhuǎn)換為Boolean類型, 再執(zhí)行邏輯與, true返回b, false返回a。轉(zhuǎn)換規(guī)則:對(duì)象為true非零數(shù)字為true卖漫,非空字符串為true费尽,其他為false赠群。
四羊始、單選(2分)
以下表達(dá)式返回結(jié)果是!0?1:2
- A.0
- B.false
- C.1
- D.true
解:這題選C。這題考的是三元運(yùn)算符查描。三元運(yùn)算符的語(yǔ)法是:
條件 ? 結(jié)果1 : 結(jié)果2;
這里你把條件寫在問號(hào)(?)的前面后面跟著用冒號(hào)(:)分隔的結(jié)果1和結(jié)果2突委。滿足條件時(shí)結(jié)果1否則結(jié)果2。冬三!0是true是匀油,所以返回1。
五勾笆、單選(2分)
以下代碼執(zhí)行后敌蚜,arr和result的值分別是
var arr = [1,2,3];
var result = arr.shift();
A.[1,2,3] 和 1
B.[2,3] 和 1
C.[1,2,3] 和 3
D.[2,3] 和 3
解:選B。這題考的是shift() 窝爪。shift()方法用于把數(shù)組的第一個(gè)元素從其中刪除弛车,并返回第一個(gè)元素的值。所以result是返回的這個(gè)1蒲每。另外如果數(shù)組是空的纷跛,那么 shift() 方法將不進(jìn)行任何操作,返回 undefined 值邀杏。注意贫奠,該方法不創(chuàng)建新數(shù)組,而是直接修改原有的 arrayObject望蜡。所以arr的值就是被改了的[2,3]唤崭。
六、單選(2分)
以下代碼執(zhí)行后的結(jié)果為typeof (1>0)
A."boolean"
B."undefined"
C."object"
D."string"
解:選A脖律。這題考的是typeof谢肾。typeof是一元運(yùn)算,放在一個(gè)運(yùn)算數(shù)前状您,運(yùn)算數(shù)可以是任意類型勒叠,它返回值是一個(gè)字符串兜挨,該字符串說明運(yùn)算數(shù)的類型。1>0是boolean類型眯分。
七拌汇、單選(2分)
以下代碼執(zhí)行后,total的值為
var total = 0;
for(var i = 0; i < 5; i++){
if(i == 3){continue;}
total += i;
}
A.6
B.11
C.7
D.3
解:選C。 這題考的是continue弊决。continue的意思是結(jié)束本次循環(huán)噪舀,繼續(xù)下一次循環(huán),所以當(dāng)i=3的時(shí)候不算飘诗,1+2+4=7与倡,總和就是7。
八昆稿、單選(2分)
以下代碼執(zhí)行后,total的值為
var total = 0,
i = 5;
do{
total += i++;
}while(i < 7)
A.5
B.11
C.18
D.6
解:選B纺座。不解釋了,do...while是先操作再循環(huán)溉潭。
九净响、單選(2分)
以下代碼執(zhí)行后a的值為:
function increment(x){
x + 1;
}
var a = increment(3);
A.undefined
B.2
C.3
D.4
解:選A。increment函數(shù)中缺少了return x+1喳瓣,所以沒返回值馋贤,函數(shù)要是沒有返回值的話,就相當(dāng)于就計(jì)算了一次畏陕,但是沒有值配乓,只有用return才會(huì)有返回值。
十惠毁、單選(2分)
以下代碼執(zhí)行后circle的值為:
var circle = {x: 1, y: 0, r: 5};
function move(shape, stepX, stepY){
shape.x = shape.x + stepX;
shape.y = shape.y + stepY;
return shape
}
move(circle, -2, 3);
A.{x: 1, y: 0, r: 5}
B.{x: 1, y: 3, r: 5}
C.{x: -1, y: 3, r: 5}
D.{x: 4, y: -2, r: 5}
解:選C犹芹。這題主要是返回shape的值,shape就是circle的值仁讨。circle的x=1+(-2)=-1,y=0+3=3,r不變羽莺,所以答案是C。
十一洞豁、多選(4分)
以下表達(dá)式中返回當(dāng)前時(shí)間的有:
A.new Date(Number.POSITIVE_INFINITY)
B.new Date()
C.new Date(Date.now())
D.Date.getNow()
解:BC盐固。B不用解釋了,C為什么呢丈挟,參數(shù)Date.now()是返回從1970.01.01 00:00:00到現(xiàn)在的毫秒數(shù)刁卜,所以是可以的。
Date()函數(shù)的參數(shù)可以設(shè)置毫秒數(shù)曙咽,或者具體的指定的日期蛔趴。它的語(yǔ)法是:
new Date(year,month[,day[,hour[,minutes[,seconds[,milliseconds]]]]])
注意:月份是從0開始計(jì)算的,比如你要輸1月份例朱,就要輸0孝情,2月份就要輸1鱼蝉。另外,參數(shù)默認(rèn)的必須填年和月箫荡,其他的諸如日小時(shí)分鐘可以選擇不填魁亦。如果只填年或者月,就會(huì)返回1977年1.01的最初時(shí)間羔挡。
十二洁奈、填空(2分)
parseInt("1.6a")的值為___________
解:答案是1。parseInt() 函數(shù)可解析一個(gè)字符串绞灼,并返回一個(gè)整數(shù)利术。它的語(yǔ)法看第一題,只有字符串中的第一個(gè)數(shù)字會(huì)被返回低矮。如果字符串的第一個(gè)字符不能被轉(zhuǎn)換為數(shù)字印叁,那么會(huì)返回 NaN。
十三商佛、填空(2分)
/\d?/.test('jerry') 的值為___________
解:這題考的正則喉钢,\d代表數(shù)字姆打,良姆?代表可以出現(xiàn)0-1次,所以jerry是非數(shù)字幔戏,代表\d可以出現(xiàn)0次玛追,所以是true。答案是true闲延。
順便來(lái)介紹下test()函數(shù)吧痊剖。
regexObj.test(str)
這個(gè)函數(shù)是測(cè)試正則表達(dá)式與指定字符串是否匹配。regexObj表示正則表達(dá)式垒玲,參數(shù)str表示要進(jìn)行匹配的指定字符串陆馁,那么來(lái)看看栗子吧:
/13566668888/.test("1356666888");//false
/13566668888/.test("13566668888");//true
/13566668888/.test("x1356666888y"); //true
十四、填空(2分)
以下代碼執(zhí)行后:
var ms = "share.jpeg".match(/(?:[.]+).(png|gif|jpg|jpeg)/);
ms[1]的值為"______"
解:答案是jpeg合愈。來(lái)看看這個(gè)正則表達(dá)式
/^(?:[^.]+)\.(png|gif|jpg|jpeg)/
()表示捕獲的符號(hào)叮贩,ms[1]表示捕獲第二個(gè)(),所以捕獲到的就是jpeg了佛析。match的語(yǔ)法就是下面這樣益老,栗子就是題目的這個(gè)栗子。
str.match(regexp);
十五寸莫、填空(2分)
以下代碼執(zhí)行后:
var width = 2;
var rectangle = {
length: 5,
width: 10,
perimeter: function(){
return (this.length + this.width) * 2;
}
}
var a = rectangle.perimeter();
a的值為________
解:答案是30捺萌。這是考作用域。我測(cè)試了下當(dāng)把函數(shù)里面的width去掉膘茎,return里的this.width改成width,就可以使用全局的width了桃纯,要使用全局的width就必須把this去掉酷誓。
var width = 2;
var rectangle = {
length: 5,
perimeter: function(){
return (this.length + width) * 2;
}
}
var a = rectangle.perimeter();
console.log(a) //14