IIFE(Immediately Invoked Function Expressions)
叫做立即执行表达式,顾名思义,该表达式一被创建就立即执行。
1.对返回结果不进行处理
(function(形参){
函数体内容
})(实参);
例子
(function (temp1,temp2) {
console.log(temp1+temp2)
})(1,2);
效果图
2.对返回结果不进行处理
(function(形参){
函数体内容
}(实参));
例子
let one=(function (temp1,temp2) {
return (temp1+temp2)
}(3,4));
console.log(one);
效果图
3.返回的是一个布尔值,然后进行取反
!function(形参){
函数体内容
}(实参)
例子
let one=!(function (temp1) {
return temp1;
})(true);
console.log(one);
效果图
4.对于数字返回的是原来的结果,非数字返回NaN
+function(形参){
函数体内容
}(实参)
例子1:数值型
let one=+(function (temp1) {
return temp1;
})(1);
console.log(one);
效果图
例子2:非数值型
let one=+(function (temp1) {
return temp1;
})("hello");
console.log(one);
效果图
5.对于数字返回的是正负符号相反,非数字返回NaN
-function(形参){
函数体内容
}(实参)
例子1:参数为正数
let one=-(function (temp1) {
return temp1;
})(100);
console.log(one);
效果图
例子2:参数为负数
let one=-(function (temp1) {
return temp1;
})(-100);
console.log(one);
效果图
例子3:参数为非数值
let one=-(function (temp1) {
return temp1;
})("hello");
console.log(one);
效果图
6.对于数字返回的是正负符号相反再减1,非数字返回-1
~function(形参){
函数体内容
}(实参)
例子1:参数为正值
let one=~(function (temp1) {
return temp1;
})(1);
console.log(one);
效果图
例子2:参数为负值
let one=~(function (temp1) {
return temp1;
})(-1);
console.log(one);
效果图
例子3:参数为非数值
let one=~(function (temp1) {
return temp1;
})("hello");
console.log(one);
效果图
7.返回的结果是undefined
void function(形参){
函数体内容
}(实参)
例子
let one=void (function (temp1) {
return temp1;
})("hello");
console.log(one);
效果图