if子句中的赋值运算符赋值并执行检查
Assignment operator inside if clause assigns value and performs check?
我在调试代码时注意到了一些问题。
if(array.length=5){
console.log("it's 5 units long");
}
这不仅使数组大小为5(假设它每次都执行赋值),而且还执行if中的检查,从而产生控制台输出。这在Javascript中是正常行为吗?这是任何真实场景的有效缩写吗?
赋值表达式的结果是新值。您的代码相当于:
array.length = 5;
if (5) {
console.log("it's 5 units long");
}
5
是一个真值,因此条件通过。
以下值总是错误的:
false
0
(零)""
(空字符串)null
undefined
NaN
(一个特殊的Number
值,意思是没有数字!)所有其他值都是truthy,包括
"0"
(引号中的零)、"false"
(引号中为false)、空函数、空数组和空对象。
我可以设计一些有用的场景,但一般来说,不,它没有用处。至少,这是一种糟糕的风格,即使可以使用也不应该使用。
相关文章:
- 递归使用 eval() 是检查程序执行的好方法吗?
- Visual Studio代码未在Javascript中执行错误检查
- 有没有一种方法可以检查javascript以毫秒为单位执行一个函数需要多长时间
- if子句中的赋值运算符赋值并执行检查
- 在不执行ajax请求的情况下,使用jQuery读取HTTP标头以检查404
- 可以't执行isActive检查
- 如何检查窗口是否已滚动到href,然后在javascript/jQuery中执行函数
- 检查函数是否返回 true 以执行另一个函数
- 如何使用jQuery检查图像URL是否为空并执行某些操作
- jQuery 条件,用于检查类,如果它包含该类,则执行
- Phantomjs 检查响应标头,然后执行某些操作
- Node 的断言模块是否提供了一种在没有强制的情况下执行深度相等检查的方法?
- 检查浏览器宽度并执行一个 Javascript 文件并覆盖另一个 Javascript
- 在执行某些操作后检查 Javascript 变量的内容
- 如何检查两个单独函数的执行结果
- 执行 JavaScript 代码并检查基于 $id=$_GET['id'] 的单选按钮;加载页面时
- 如何检查函数是否执行
- 目录中的Javascript检查文件是可读的可写或可执行的
- 如何在angularjs中对ng-disabled执行检查
- 在数学游戏won't执行检查答案