Javascript或jQuery:在if语句中赋值
我很好奇是否可以在if语句中赋值,比如:Javascript或jQuery:在if语句中赋值,javascript,jquery,html,function,if-statement,Javascript,Jquery,Html,Function,If Statement,我很好奇是否可以在if语句中赋值,比如: if (a=jQuery("#user > .mask.fix > .a1").css('display')!='none'){ b = a+'hello'; //b=jQuery("#user > .mask.fix > .a1").css('display')+'hello'; //the same thing but slower because of access through DOM again, rig
if (a=jQuery("#user > .mask.fix > .a1").css('display')!='none'){
b = a+'hello';
//b=jQuery("#user > .mask.fix > .a1").css('display')+'hello'; //the same thing but slower because of access through DOM again, right?
}
我已经在chrome控制台上测试过这种结构,看起来它可以工作。我只想有人确认它在javascript甚至jQuery中是有效的
多谢各位
我已经在chrome控制台上测试过这种结构,看起来它可以工作
不,你写的第一个块并不像你想象的那样。它将比较结果指定给a,而不是显示值。因此,a将以正确或错误结束,而不是没有或类似。要分配然后测试,您需要在a=。。。一部分
我只想有人确认它在javascript甚至jQuery中是有效的
jQuery是一个库,而不是一种语言。我们这里只讨论JavaScript
您可以通过以下方式执行此操作:
…但这更易于阅读和调试:
a=jQuery("#user > .mask.fix > .a1").css('display');
if (a!='none'){
b = a+'hello';
}
我已经在chrome控制台上测试过这种结构,看起来它可以工作
不,你写的第一个块并不像你想象的那样。它将比较结果指定给a,而不是显示值。因此,a将以正确或错误结束,而不是没有或类似。要分配然后测试,您需要在a=。。。一部分
我只想有人确认它在javascript甚至jQuery中是有效的
jQuery是一个库,而不是一种语言。我们这里只讨论JavaScript
您可以通过以下方式执行此操作:
…但这更易于阅读和调试:
a=jQuery("#user > .mask.fix > .a1").css('display');
if (a!='none'){
b = a+'hello';
}
您可以,但对于其他程序员和任何类似以下的linting工具来说,这都将是一个错误: 应为条件表达式,而应为赋值。 代码:
也只能运行jQuery一次,但要干净一点。您可以,但对于其他程序员和任何linting工具(如: 应为条件表达式,而应为赋值。 代码:
也只会运行jQuery一次,但要干净一点。已经问过@Haradzieniec了……绝对没有错。它在C、java、jquery或java脚本中工作。如果所有这些句子中的从句都是相同的,那么@Haradzieniec…绝对没有错。它在C、java、jquery或java脚本中工作。If子句在所有这些+1中都是相同的,而If语句中的赋值是可能的。可能会与预期结果混淆,代码更难阅读。+1完全同意,而if语句中的赋值是可能的。可能会对预期结果产生混淆,代码更难阅读。
var selected = jQuery("#user > .mask.fix > .a1").css('display');
if (selected !== 'none') {
b = selected + 'hello';
}