js函数自执行
在javascript里,任何function在执行的时候都会创建一个执行上下文,因为function声明的变量和function有可能只在该function内部,这个上下文,在调用function的时候,提供了一种简单的方式来创建自由变量或私有子function。
函数自执行写法:
1.最前最后加括号
(function(){alert();}());//有点是提醒阅读代码的人,这段代码是一个整体。
2.function外面加括号
(function(){alert();})();
3.function前面加运算符,常见的是!和void
!function(){alert();}();
void function(){alert();}();
使用案例:
var counter=(function(){
var i=0;
returen{
get:function(){
return i;
},
set:function(){
i=val;
},
increment:function(){
return ++i;
}
};
}());//创建一个立即调用的匿名函数表达式,returen一个变量,其中包含要暴露的东西,返回的这个变量将赋值给counter,而不是外面声明的function函数。
counter.get();//0
counter.set(3);
counter.increment();//4
counter.increment();//5
counter.i;//undefined 因为i不是返回对象的属性
i;//引用错误,i没有定义(因为i只存在于闭包)
(function(){
//code,运行的代码
})();//在js中()有两种含义,一个是运算符,一个是分隔符。这里的第一个是分隔符,表示里面的函数是一个部分。后面的是运算符,表示里面的函数要运行,相当于定义完一个匿名函数后就让它直接运行。
js函数自执行的更多相关文章
- (转)在网页中JS函数自动执行常用三种方法
原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中 ...
- 在网页中JS函数自动执行常用三种方法
在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: <SCRIPT LANGUAGE="JavaScript"> function ...
- 在JS函数中执行C#中的函数、字段
1.调用字段 cs文件的代码: ; protected void Page_Load(object sender, EventArgs e) { id = ; } js页面的代码: function ...
- JS函数自动执行
关于让网页中的JavaScript函数自动执行,方法就多洛,但是万变不离其宗,下面给大家介绍一下! 前提条件,网页中必须有JS函数代码,或者,使用文件导入的方法也行: 在HTML中的Head区域中,有 ...
- 学习js函数--自执行函数
我在写代码时候经常会在tpl的<script>里写类似的代码: $(function(){ alert("我好饿"); }); 刚开始的时候只知道写了它不需要调用,直接 ...
- 如何使js函数异步执行
CallbacksCallbacks使用场景在哪里?在很多时候需要控制一系列的函数顺序执行.那么一般就需要一个队列函数来处理这个问题: function Aaron(List, callback) { ...
- 当call/apply传的第一个参数为null/undefined的时候js函数内执行的上下文对象是什么呢?
如题:在js中我们都知道call/apply,还有比较少用的bind;传入的第一个参数都是改变函数当前上下文对象;call/apply区别在于传的参数不同,一个是已逗号分隔字符串,一个以数组形式.而b ...
- js函数延迟执行
function delay(value){ //全局变量保存当前值 window._myTempDalayValue = value; setTimeout(function(){ //延时之后与全 ...
- js中当call或者apply传入的第一个参数是null/undefined时,js函数内执行的上下文环境是什么?
在js中我们都知道call/apply,还有比较少用的bind;传入的第一个参数都是改变函数当前上下文对象; call/apply区别在于传的参数不同,一个是已逗号分隔字符串,一个以数组形式.而bin ...
随机推荐
- 手动内存管理与ARC互相转换问题2
- python os用法笔记
获取文件所在路径 import os os.path.dirname(__file__) 获取当前文件的所在路径 print (os.path.dirname(os.path.dirname(__f ...
- ios常见细节问题-删掉main.storyboard程序启动屏幕变黑-崩溃
删掉程序默认的main.storyboard文件后,程序启动崩溃 如图所示.原因是删掉main.storyboard文件后没有在info.plist文件里面设置 删掉main.storyboard后程 ...
- 论--如何通过代码解析plist文件创建对应的控制器,以及控制器中的控件
通过懒加载把最初的plist文件加载后,根据plist文件文件中的目标控制器进行跳转,根据加载的plist文件中的plist_name加载将要跳转进去的控制器界面的控件等等. 以上根据target_v ...
- linux bash history
vim /etc/profile export HISTSIZE=10000 export HISTTIMEFORMAT="`whoami` : %F %T : " export ...
- pgbouncer+pg(fdw)+pg(datanode)分表方案
pgbouncer+pg(fdw)+pg(datanode)分表方案 (环境RHEL6.5,PG9.4.5,pgbouncer1.5.4,libevent2.0.22) 方案架构图如下: pgboun ...
- 很赞的PHP字符串加密函数
最近, 从discuz里面发现了一个很牛的加密解密函数. 此函数的厉害之处在于可以在指定时间内加密还原字符串,超时无法还原 这样我们就可以拿此函数来做很多用途了,比如:单点登录的token加密传输啦, ...
- C#: 自定义控件
(一)复合控件 http://wenku.baidu.com/link?url=y4BdtX3mOer4Hdin019jJpXJLi-2_ehmEo7i08cxEp1OR_3gb5CqaHrnNEB2 ...
- 每天一个liunx命令(ubuntu)
解压XXX.gz到另一个A文化夹: 1.切换到root权限 su 2.tar -zxvf XXX.gz -C A 注意: C要大些因为ubuntu区分大小写
- HDU 4898 The Revenge of the Princess’ Knight(后缀数组+二分+暴力)(2014 Multi-University Training Contest 4)
Problem Description There is an old country and the king fell in love with a devil. The devil always ...