if 语句内的多重赋值
为什么我不能这样做:
var fooElement, barElements; if(fooElement = document.getElementById('foo') && barElements = fooElement.getElementsByTagName('bar') && barElements[0] && barElements[0].onclick) { console.log(barElements[0].onclick); }
这也不起作用:
var foo, bar; if(foo = true && bar = true) { console.log('yay'); }
Why can't I do this:
var fooElement, barElements; if(fooElement = document.getElementById('foo') && barElements = fooElement.getElementsByTagName('bar') && barElements[0] && barElements[0].onclick) { console.log(barElements[0].onclick); }
This won't work either:
var foo, bar; if(foo = true && bar = true) { console.log('yay'); }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个(它应该给你一个线索):
Try this (it should give you a clue):
检查运算符优先级,使用
UPD:不要忘记以下代码不会将
bar
设置为 true,因为 &&是Short Circuit
运算符示例
Check Operator Precedence,Use
UPD: Don't forget that following code will not set
bar
to true because && isShort Circuit
operatorSample