为了账号安全,请及时绑定邮箱和手机立即绑定

javascript表达式和运算符的问题

javascript表达式和运算符的问题

fancyL 2018-01-25 15:46:55
// 挑战一 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))))))这样注释对吗?第二题和第六题如何解释?
查看完整描述

3 回答

已采纳
?
林逸舟丶

TA贡献124条经验 获得超28个赞

详解请看之前给你的回答。别随意开新题目。

查看完整回答
反对 回复 2018-01-25
?
chwech

TA贡献63条经验 获得超18个赞

只做对3题, 宝宝不开心. 还有第5题为什么不是true ?

查看完整回答
反对 回复 2018-01-25
  • fancyL
    fancyL
    第五题在chrome上是false。。
  • chwech
    chwech
    b和c声明没有赋值, 是undefined, b, c比较应该是true. 我测试也是true的
  • chwech
    chwech
    不好意思啊, i am a boy
点击展开后面2
?
QQ_随意

TA贡献51条经验 获得超28个赞

第二題函數返回值是1,所以typeof 是 number

第六題,&&遇到假的就返回,||遇到真的就返回

查看完整回答
反对 回复 2018-01-25
  • 3 回答
  • 0 关注
  • 1714 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信