在条件表达式中声明变量(三元运算符)

Lia*_*m B 1 javascript conditional-operator

是否可以在条件表达式中声明变量?

例如:下面的代码返回语法错误(因为我在条件表达式中声明了变量x?).

var a = document.getElementById("userData");
var d = a.value;
function() {
(d.length>15)?(
 alert("your input was too long")):(
 var x = parseInt(d).toString(2), 
 a.value=x 
 );
 }
Run Code Online (Sandbox Code Playgroud)

显然这可以通过简单地var x;在语句外添加来修复,但是变量可以在这里声明吗?

T.J*_*der 7

是否可以在条件表达式中声明变量?

No. var是一个语句,条件表达式的操作数是表达式.语言语法不允许.值得庆幸的.