1.下列代碼輸出的值html
console.log(100['toString']['length']); // 1
console.log(100['toString']) // 輸出爲函數,由於toString是方法,沒有小括號就是沒有調用,因此返回的是函數自己
參考連接:http://www.ecma-international.org/ecma-262/5.1/#sec-15.7.4.2數組
2.代碼輸出爲閉包
var x=1; function fn(n){n=n+1} y=fn(x); console.log(y); // 輸出爲undefined
3.代碼輸出爲函數
function fn1(){ var a=0; function fn2(){ ++a; alert(a); } return fn2; } fn1()(); // 彈出1 var newFn=new fn1(); newFn(); // 彈出1 newFn(); // 彈出2
參考++a和++a的區別code
4.代碼輸出爲htm
var arr=[1,2]; var arr2=arr.concat(); arr2.push(arr.splice(1,0)); console.log(arr); // [1,2] console.log(arr2); // [1,2,[]]
var arr = [1, 2]; var arr2 = arr.concat(); console.log(arr); // 輸出爲[1,2] console.log(arr2); // 輸出爲[1,2]
var arr = [1, 2]; var arr2 = arr.concat([3,4]); console.log(arr); // 輸出爲[1,2] console.log(arr2); // 輸出爲[1,2,3,4]
var arr = [1, 2]; var arr2 = arr.concat([3,4,[5,6]]); console.log(arr); // 輸出爲[1,2] console.log(arr2); // 輸出爲[1,2,3,4,[5,6]]
var arr = [1, 2]; var arr2 = arr.concat({name:'bonly'}); console.log(arr); // 輸出爲[1,2] console.log(arr2); // 輸出爲[1,2,{name:'bonly'}]
var arr = [1, 2]; console.log(arr); // 輸出[1,2] console.log(arr.splice()); // 輸出爲[] arr.splice(); console.log(arr); // 輸出[1,2]
var arr = [1, 2]; console.log(arr); // 輸出[1,2] console.log(arr.splice(1)); // 輸出爲[2] arr.splice(1); console.log(arr); // 輸出[1]
var arr = [1, 2]; console.log(arr); // 輸出[1,2] console.log(arr.splice(1)); // 輸出爲[2] arr.splice(1); console.log(arr); // 輸出[1]
var arr = [1, 2,3]; console.log(arr.splice(1,1)); // 輸出[2] console.log(arr); // 輸出[1,3]
var arr = [1, 2,3]; console.log(arr.splice(1,1,4,5)); // 輸出[2] console.log(arr); // 輸出[1,4,5,3]
var arr = [1, 2,3]; console.log(arr.splice(1,0,4,5)); // 輸出[] console.log(arr); // 輸出[1,4,5,2,3]
參考菜鳥:http://www.runoob.com/jsref/jsref-splice.html對象
5.代碼輸出爲blog
console.log((!+[]+[]+!+[]).length); // 輸出8
console.log((!+[]+[]+!+[])); // 輸出爲truetrue console.log((!+[]+[])); // 輸出爲true console.log((!+[])); // true console.log((+[])); // 0
6.下列代碼輸出字符串
console.log((3<5,4>6)); // false console.log((4>6,3<5)); // true