假设val已经声明,可定义为任何值。则下面js代码有可能输出的结果为:
console.log('Value is '+(val !='0')?'define':'undefine');A: Value is define
B: Value is undefine
C: define
D: undefine
E: Value is define 或者 Value isundefine
D: define 或者 undefine
E: 其他选项都有可能
答案
C
解析
算术运算符优先级大于三元运算符,所以先计算 'Value is ’ + (val != ‘0’) 后进行三元运算,但是这个计算结果不管怎么样都会为真(因为在js当中,除了 “” null undefined NaN false 0 这六个转化为布尔值为假,其他均为真,空数组,空对象转化为布尔值也是真!)所以这个三元运算符结果永远为 ‘define’
题目1执行以下代码,其实现的效果为()<div> <input type="button" id ="button1" value="1" onclick="moveBtn(this);"> <input type="button" id ="button2" value="2" /></div><script type="text/javascript"> function moveBtn(obj) { var