面試每天刷(javaScript):2017-11-16

1.假設val已經聲明,可定義為任何值。則下面js代碼有可能輸出的結果為:

console.log('Value is ' + (val != '0') ? 'define' : 'undefine');//define

解析:這道題一開始做的時候填的是Value is define,但是確實錯誤的,這是因為沒有考慮到標識符運算的優先級,+的優先級高于三目運算符?所以相當于下面的執行。

var val;
var a=(val != '0');
var a='Value is ' +a;
var a=((a)? 'define' : 'undefine');
console.log(a);//define

2.下面程序的結果是?

console.log(([])?true:false); //true
console.log(([]==false?true:false));//true
console.log(({}==false)?true:false);//false

解析:
◎第一題是判斷是否是真值,就是Booean([])為true.
◎第二三題涉及較多東西,晚點發篇文章補回。

3.如何把 7.25 四舍五入為最接近的整數?

Math.round(7.25);

解析:
◎Math.ceil()執行向上舍入,即它總是將數值向上舍入為最接近的整數;
◎Math.floor()執行向下舍入,即它總是將數值向下舍入為最接近的整數;
◎Math.round()執行標準舍入,即它總是將數值四舍五入為最接近的整數(這也是我們在數學課上學到的舍入規則)。
4.下面程序的結果是?

console.log(1+ "2"+"2");//"122"
console.log(1+ +"2"+"2");//"32"
console.log("A"- "B"+"2");//"NaN2"
console.log("A"- "B"+2);//"NaN"

解析:第二題中的 +"2"中的+相當于Number("2");
5.下面代碼的執行結果是?

var arr=[];
arr[0]=0;
arr[1]=1;
arr.foo='c';

解析:arr是一個對象,arr.length和arr.foo是等價的都是lenth的屬性。arr.length作用是數組方法。
6.javaScript的全局函數
解析:
decodeURI() 、decodeURIComponent() 、encodeURI() 、encodeURIComponent() 、escape() 、unescape()、eval()。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容