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()。