左手赋值无效,检查变量并在IF语句中设置另一个变量

JCO*_*611 2 javascript if-statement

if(a=="check" && b=some())
Run Code Online (Sandbox Code Playgroud)

如果 if语句会(理论上)返回true a等于"检查",如果some()返回的东西是不是假的/ 0 /空/未定义.

但是这会引发错误: ReferenceError:赋值中的左侧无效.

在上下文中:

function some(){
  return (window.title=="Special")? 0 : window.title;
}
function check(a){
   var b;
   if(a == 1 && b = some()){
      alert("Window's title is: "+b);
   }
}
Run Code Online (Sandbox Code Playgroud)

如果使用两个if语句,我怎么能这样做?可能吗?

use*_*716 5

将它分组().

if( a=="check" && ( b=some() ) )
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/KsWBq/

这将评估赋值表达式,然后语句将使用该表达式的结果if().