Javascript if和while语句的条件部分中的赋值
以下引述: 赋值表达式 避免在if和while语句的条件部分进行赋值 是Javascript if和while语句的条件部分中的赋值,javascript,jslint,Javascript,Jslint,以下引述: 赋值表达式 避免在if和while语句的条件部分进行赋值 是 if (a = b) { 正确的说法?或者是 if (a == b) { 有意的?避免不易确定为正确的构造 那么,克罗克福德的话是什么意思呢?它的意思是 if (a = b) { 实际上是一种赋值,将b的值赋值给a,这通常不是人们想要的 这段话只是告诉你要小心,只有当你真正想做的时候,你才会去做,而你通常不会这么做。通常人们想在那里做一个比较,所以 if (a == b) { 反例:如果运行以下命令,则仅当您对确认
if (a = b) {
正确的说法?或者是
if (a == b) {
有意的?避免不易确定为正确的构造
那么,克罗克福德的话是什么意思呢?它的意思是
if (a = b) {
实际上是一种赋值,将b
的值赋值给a
,这通常不是人们想要的
这段话只是告诉你要小心,只有当你真正想做的时候,你才会去做,而你通常不会这么做。通常人们想在那里做一个比较,所以
if (a == b) {
反例:如果运行以下命令,则仅当您对确认弹出窗口给出OK时,它才会打印true
,否则不会打印任何内容
如果(a=confirm('test'){console.log(a)}
这意味着
if (a = b) {
实际上是一种赋值,将b
的值赋值给a
,这通常不是人们想要的
这段话只是告诉你要小心,只有当你真正想做的时候,你才会去做,而你通常不会这么做。通常人们想在那里做一个比较,所以
if (a == b) {
反例:如果运行以下命令,则仅当您对确认弹出窗口给出OK时,它才会打印true
,否则不会打印任何内容
if(a=confirm('test'){console.log(a)}
似乎是对的?试试看!因此,大多数IDE都会警告您,分配可能应该是一个比较。如果你没有这样一个虚拟世界,你需要自己发现它,这就是为什么Crockford先生试图让你意识到它
似乎是对的?试试看!因此,大多数IDE都会警告您,分配可能应该是一个比较。如果你没有这样一个虚拟世界,你需要自己发现它,这就是为什么Crockford先生试图让你意识到它。@nurdyguy:不总是这样。试试这个:
var b=“”;var a;如果(a=b){…}
@nurdyguy:不总是这样。试试这个:var b=“”;var a;如果(a=b){…}