有没有理由不在 while 块声明中分配变量
Is there a reason to not assign a variable in the while block declaration?
每当我做这样的事情时...
var obj;
while (obj = doSomething()) {
// something with obj
}
JSHint告诉我warning 84| Expected a conditional expression and instead saw an assignment.
.但是,执行obj = doSomething()
会返回doSomething()
在赋值期间返回的值,因此以这种方式编写 while 循环是有意义的。
JSHint警告我是否有特定的原因,更重要的是,有理由不这样做吗?或者我可以告诉 JSHint 忽略该特定警告的这些行吗?
该警告是为了确保您没有错误键入=
而不是==
或===
。
相反,您可以获取评估结果的布尔值,如下所示
while (!!(obj = doSomething())) {
单个=
分配值,而不是比较运算符。使用以下命令:
while (obj == doSomething()) {
// something with obj
}
参考: http://www.w3schools.com/js/js_comparisons.asp
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 在循环中分配json值时,值被覆盖
- 动态分配GA增强型电子商务跟踪器
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 直接在函数声明上使用function.prototype.bind
- 如何在jQuery中将函数的输出分配给变量
- 为集合分配大量的模型弹药
- 获取HTML属性中CSS声明的值
- 将“*”分配给作用域中声明的变量的角度错误
- 为什么要将函数声明分配给命名变量
- 挖空.js在数据绑定声明中分配可观察
- 对象属性的分配顺序是否与声明顺序相同
- 声明函数是否会创建具有函数名称和分配给它的函数对象的变量
- 有没有理由不在 while 块声明中分配变量
- Javascript - 在变量声明中使用大括号将多个变量分配给对象属性
- 在Javascript中分配多个值之前先声明var
- 为什么不能将函数内部的值分配给外部声明的变量(globaly)
- 用对象键在一行中声明和分配函数对象
- 如何使用条件重新分配和声明新变量