Javascript 的 & 与 &&

貌似这两种 if 判断语句最后都能 alert 出来,想问两者有什么差异么,或者说哪种用起来更规范些?

if( response.status == 200 ) Main_Scope.loading = true & alert("Asdasd");
if( response.status == 200 ) Main_Scope.loading = true && alert("Asdasd");
阅读 1.5k
2 个回答

&是按位与,而&&是逻辑与。
所以应该使用&&才对,&是错误的用法。

  110  // 6
& 011  // 3
---------
  010  // 2
6 & 3 = 2
6 && 3 = 3

&是“按位与”运算,&&是“逻辑与”运算,虽然都会alert出来,但Main_Scope.loading的值不一样吧?alert没有返回值,或者说它的返回值是undefined,所以第一个Main_Scope.loading的值应该是0,第二个Main_Scope.loading的值是undefined

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题