if语句vs函数语句
if statement vs function statement
函数语句可以使用以下运算符转换为表达式:
+function(){ //it is now function expression
...
}();
但是为什么if语句不能转换为表达式呢?
+if(true){ //cause an error
....
}
您没有将函数转换为表达式。您正在计算函数(后面带有()
),其结果可以在表达式中使用。如果你想在代码中内联一些"如果喜欢"的东西,可以使用三元运算符:
var a = b + (x > y ? c : d);
这相当于您似乎感兴趣的伪代码:
// Of course the below isn't actually legal...
var a = b + if (x > y) {
c;
} else {
d;
}
JavaScript中并没有真正的"函数语句"。函数定义是返回函数的表达式,而不是与"if
语句"意义相同的语句。
在函数上使用一元加正确返回NaN
:
+function () { return "1"; }
NaN
(但是,如果您调用函数,如您的示例所示,则返回值将用于您的表达式:
+function () { return "1"; }()
1
)
相关文章:
- Javascript:If-then语句在函数中不起作用
- 函数在return语句之前返回空对象
- ES6是否引入了一种机制来生成块范围的函数语句(而不是表达式)
- 清除函数中if语句内部不起作用的间隔
- 如何使用console.log语句在Mocha中测试函数
- geoTest函数-创建if/else语句
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 向函数添加多条语句
- 这个函数做什么以及如何在没有'带有'语句-Javascript
- 我们可以在javascript中使用函数作为返回语句吗
- 使用usinf-if语句javascript调用函数
- 为什么我们要在语句中两次将函数括在括号中
- 在 HTML 代码中调用 PHP 函数,在 PHP echo 语句中
- 在 JavaScript IF 语句中使用匿名函数
- .has() 函数在 if 语句 (jQuery) 中不起作用
- 函数中的If语句会创建其他对象
- Js提示:“;期望一个赋值或函数调用,而看到一个表达式“;,Switch语句
- Javascript 函数.可变结果.为什么未定义或没有 如果 else 语句函数
- 使用$extend()为jQuery中的switch语句函数添加更多事例
- JQuery或JavaScript是否有下一个语句/函数可以跳到循环的下一次迭代