跳转JavaScript中的函数自调用3.自调用函数的区别
自调用函数的定义:
废话不多说,上代码。
<pre class="kdocs-a href='https://www.veimoz.com/1509' title='国产狙击步枪发展的起源:CS/LR4狙击步枪和QBU10大口径反器材狙击步枪' target='_blank'javascript/a">`//正常函数声明
var fn1 = function(parmater1,paermater2){
//函数体
console.log('正常函数声明');
};//尽量习惯性写;不然就像在这里,即便不调用fn1()同样会输出 正常函数声明
//正常函数调用,如5、7两行都不写;会报错。不过如果7行整行不写不会报错,反而会直接调用fn1()
fn1();//控制台:正常函数声明
// 自调用函数形式1
(function () {
console.log('自调用函数1');
})();//这里;不写同样会报错
//控制台:自调用函数1
//自调用函数形式2
(function(){
console.log('自调用函数2');
}());
//控制台:自调用函数1`</pre>
注意点:1.自调用函数是隐式函数,无法通过赋值给变量来调用方法,
<pre class="kdocs-javascript">`var fn2 = (function(){
console.log('自调用函数2');
}());
//fn2(); //这样做会报错
console.log(fn2); //输出结果为undefined`</pre>
2.自调用函数运行后立即释放函数空间js代码调用,无法再度调用。详情请跳转JavaScript中的函数自调用
3.自调用函数虽然无法赋给变量,但却可以通过return将返回值赋给变量。通过这个特点,我们可以用来做闭包
<pre class="kdocs-javascript">`var fn3 = (function(){
//局部变量写在这里,可以减少全局变量的使用。
return function(){
console.log('个人理解:闭包就是把函数当作返回值,赋值给变量');
}
}());
console.log(fn3);//输出是一个函数体,即fn3内返回的函数。
fn3(); //控制台:个人理解:闭包就是把函数当作返回值,赋值给变量`</pre>
最后附带链接:
局部变量和全局变量
JavaScript----闭包函数
释放函数空间涉及到堆和栈js代码调用,链接如下:
JavaScript 中堆和栈的区别
发表评论
热门文章
Spimes主题专为博客、自媒体、资讯类的网站设计....
一款个人简历主题,可以简单搭建一下,具体也比较简单....
仿制主题,Typecho博客主题,昼夜双版设计,可....
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
最新评论
Z.
11月29日
博主你好,Deng插件,这个点击不进去,提示这个(Warning: require_once(/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php): failed to open stream: No such file or directory in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26
Fatal error: require_once(): Failed opening required '/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26)
蔑视的士
昨天 13:21
支持