1. 輸出下列結(jié)果
console.log([+!+[]]+[+[]]); // 10
console.log((!+[]+[]+![]).length); // 9
console.log(!+[]+[]+![]); // truefalse
console.log(!+[]); // true
console.log(+[]); // 0
!用法解釋?zhuān)?/p>
| eg: | eg: | eg: |
|---|---|---|
| !null=true | !''=true | !100=false |
| !undefined=true | !'abc'=false |
2. (云書(shū))輸出下列結(jié)果
var aa={key:1};
var bb=aa;
aa.x=aa={key:2};
console.log(aa.x);//undefined
console.log(aa);//{key:2}
console.log(bb);//{key:1,x:{key:2}}
console.log(bb.x);//{key:2}
3. (第一秒)輸出以下結(jié)果
var obj = {
a : 1,
b : function(){
console.log(this.a);
console.log(a);
}
}
var a = 2;
obj.b(); // 1 2
b(); // 報(bào)錯(cuò),Uncaught ReferenceError: b is not defined
4. 輸出以下結(jié)果
var foo = "Hello";
(function(){
var bar = "World";
console.log(foo + bar);
})();
console.log(foo + bar);
// 運(yùn)行結(jié)果:HelloWorld Uncaught ReferenceError: bar is not defined
5. 輸出以下結(jié)果
for(var i=1;i<=3;i++){
setTimeout(function(){
console.log(i)
},0);
}
// 4 4 4 循環(huán)不會(huì)等待定時(shí)器執(zhí)行,所以for循環(huán)先執(zhí)行完成后,此時(shí) i=4,定時(shí)器再輸出就是三個(gè)4
// 閉包方式解決輸出 1 2 3 ,因?yàn)殚]包會(huì)把變量保存起來(lái)
for(var i=1;i<=3;i++){
(function(i){
setTimeout(function(){
console.log(i)
},0)
})(i);
}
// 1 2 3
6. 輸入兩個(gè)字符串 從第一個(gè)字符串中刪除第二個(gè)字符串中的所有字符串
var str1='hello chinachinachina';
var str2='ina';
//var reg=/ina/g;//字面量方式定義正則
var reg=new RegExp(str2,'g');
console.log(str1.replace(reg,'')); // hello chchch
7. 這樣一個(gè)數(shù)組 var arr=[a,bc,d,d,e,a,b,f,g] 進(jìn)行數(shù)組去重
var arr=['a','bc','d','d','e','a','bc','f','g','d','e','a'];
arr.reverse();
var reg=/(\w+)[^\1]*\1/;
while(reg.test(str)){
str=str.replace(RegExp.$1,'');
console.log(str);
}
arr=str.split('').reverse();
alert(arr);//a,c,b,d,e,f,g cb拆開(kāi)了,這種方法只適合單個(gè)字母去重
8. 看下面代碼輸出什么
console.log(undefined == null); // true
console.log(1 == true); // true
console.log(2 == true); // false true會(huì)變成1,1和2當(dāng)然不相等
console.log(0 == false); // true
console.log(0 == ''); // true
console.log(NaN == NaN); // false
console.log([] == false); // true
console.log([] == ![]); // true
console.log("11"+2+"1"); // 1121
console.log("11"+2-"1"); // 111 后面的減號(hào)有隱式轉(zhuǎn)換的作用
console.log([]==[]); // false
console.log([]=={}); // false
console.log([]==![]); // true
console.log(typeof []); // object
console.log(typeof ![]); // boolean
console.log(![]); // false