// 挑战一 var x = 1; //单独声明的时候,f的类型是function,作为if判断的时候,未得到声明,所以是undefined if (!!function f() { }) { x += typeof f; } console.log(x); // "1undefined" // 挑战二 (function f(f) { console.log(typeof f()); // "number" })(function () { return 1; }); // 挑战三 console.log(typeof 2 * 3); // NaN,对于运算结果不能转换成数字的,将返回 NaN console.log(typeof 2 + 3); // "number3",数字字符串之前存在数字中的正负号(+/-)时,会被转换成数字 // 挑战四 var a = 0, b = 0; console.log(a++ + b); // 0 一元运算符++优先级高于+ console.log(a); // 1 console.log(b); // 0 // 挑战五 var a, b, c; a = b == c; console.log(a); // false // 挑战六 console.log(1 && 3); // 3 console.log(1 && "foo" || 0); // "foo" console.log(1 || "foo" && 0); // 1 // 挑战七 var a = 1; var b = (a = (2, 4, 6)) + a++ console.log(b); // 12 b=(6)+a++ ==12 // 挑战八 if (!("a" in window)) { var a = 1; } console.log(a); // undefined,因为!结果为false,所以不会执行赋值语句,alert(a) 返回 undefined // 挑战九 var val = 'smtg'; console.log('Value is ' + (val === 'smtg') ? 'Something' : 'Nothing'); // "Something" // 挑战十 console.log(1 + -+++-+1); // 2,1+(-(+(+(+(-(+1))))))
这样注释对吗?第二题和第六题如何解释?
林逸舟丶
chwech
QQ_随意
相关分类