JavaScript之立即执行函数

 说道在写JavaScript代码的时候,我们经常有一些变量啊,方法呀,是整个代码程序只运用一次就没有作用的一部分代码。

而这些代码又不用不可,用完之后再也不用了而且还占内存,我们就想有没有一种什么方法可以让这个函数方法用完一次,

充分展示了它的作用之后,就立即销毁。在这里,我们引入立即执行函数。

立即执行函数

 定义:立即执行函数只被执行一次,执行完之后立即销毁。

作用:针对一些初始化功能的函数。
方法:运用()执行符号进行。
执行符号定义立即执行函数有两种方式。
1.
(function(){}())
2.
(function(){})()
 (现在W3C标准建议使用第一种。)
在这里,大家想在定义函数的时候,比如说我定义一个函数
function test(){
console.log("a");
}
 我们在执行函数的时候通常都是:test(),进行执行。那我在上述函数后面直接加(),是不是也可以执行???
答案是不行的,在这里,这个括号是执行符号,记住一句话:函数只有表达式才能被执行符号执行。
这里上面的函数叫什么?是函数声明,你叫函数表达式。所以
var num = function  test(){
console.log("a");
}()
 这样是可以执行的。
被执行符号执行的表达式就会自动放弃函数的名称,也就是说:能被执行符号执行的表达式基本上成为立即执行函数。
这句话的意思是就以上述代码为例。上述表达式被执行符号执行,如果你再在控制台中找test函数 是找不到的

上面说只有函数表达式才能被函数执行,看这里
function test(a ,b,c,d){
	console.log(a + b + c + d);
}(1,2,3,4);
 这个函数在这里是不会报错的,但也不会执行。在JavaScript引擎机制中JS引擎会想方设法的不让你错,
于是上述代码就把函数和最后面的括号分开形成:
function test(a ,b,c,d){
	console.log(a + b + c + d);
}

(1,2,3,4);
 表现出不是一体的,也不会报错。

立即执行函数的函数特性

 立即执行函数和函数一样,其实它本身就是函数,有函数的特性:可以传参,可以有返回值。
传参
立即执行函数的传参和基本函数有些不同。实在最后面的括号里面进行传实参。
(function(a,b){
console.log(a + b);
}(1,2)); 
返回值
返回值和基本函数相同,声明一个参数接着函数的返回值就可以。
var num = (function(a,b){
var c = a + b;
return c;
}(1,2));

JavaScript语言我个人感觉是最有意思的了,我也是一个初学者,遇到问题,喜欢在博客上分享,
也希望能帮到大家。 一个初学者,有什么不足或者纰漏的话,希望在下面评论出来,相互学习,共同进步。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值