在看《JavaScripot权威指南》这本书,看到三元运算符这一块,于是尝试写了这么一个三元运算:
var x = 1; var y = (x == 1 ? function(){ return 1}:function(){ return -1}) console.log(y);
结果,各位看官你觉得Y等于多少? y = function(){
return 1},他返回的直接就是就是这个函数,而不是函数执行的结果。如果需要结果的话还得让函数立即执行。应该是这样:var x = 1; var y = (x == 1 ? (function(){ return 1})():(function(){ return -1})()); console.log(y)