(
function(){
alert("1");
}
)();
解决方案 »
- 关于chrome和firefox浏览器获取iframe中的对象问题?
- ie脚本报错,求高手提点
- 求助~为什么我的数据回调不过去???
- javascript判断下拉框输入
- |zyciis| javascript如何在子方法中停止父方法的进程
- 初学者菜鸟问题
- JS 可以修改<input type="file" name="file">的值吗?
- js密码验证的问题!(在线等解决!)
- 帖子字少图多,详细,只为求解答,,涉及ajax等
- 怎么用poi或者jxl导入excel到数据库
- 有人给讲讲js和java中的trycatch块的区别么?我这有代码就是不知道为什么
- 寻求封装好的一个文本框的颜色样本选择器,急用。。。
你要运行test 得这样吧:test();
你也可以这样:(test)();//这样也能运行
(test)()//指向是已经存在的函数test 如果想要运行还不存在函数就要
(function (){})()//运来
还有一种理解是:表达式不能以 function 开头,所以要加上()
这是闭包,楼主可以搜索
能再详细一点吗?()是定义一个匿名方法吗?
既然是匿名的就不能在其他地方引用?只能立即执行?
定义方法不是用function关键字吗?
function foo(){
//这是定义一个方法
}()定义匿名方法,方法体呢?
是下面这样吗?
(function(){
alert("me");
})
(function (){
alert("me");
})
在浏览器里没有引起任何脚本错误...
确实()();后边那个括号是运行的.
前边那个()括号是定义函数的
(
alert("me");
)
会得到缺少")"的异常!如果写
(
)alert("me");//这显然是不正确的,呵呵
)
会得到语法错误的异常, 这显然是不正确的如果单写()也会得到语法错误的异常o(︶︿︶)o 唉...纠结啊...
(function (s) {alert(s);})(2);这样参数2就被传递到匿名方法中了,s是形参
匿名函数执行
(function(){
alert("1");
})();
函数需要一个名字的原因是用户要调用这个函数,于是函数名就是其唯一索引
如
function a(){alert"I am A";}但是当一个函数可能不需要调用,也就根本不需要这个索引,也就是函数名了(function(){
alert("I am A");
})();
我估计当初的设计就是因为很多函数太过专用所以干脆就匿名算了,反正也不会被复用。不过看着真的很乱...
alert("1");
}
)();
上面代码里,第一个(),被用作强制运算符,把里面的匿名函数直接量转变成一个函数对象的引用;后面的()是一般的函数调用。
function(){}();这样是错误的。解析器会解释成:function(){};
();
function(){} 没有函数名,叫做匿名函数;
调用一个命名函数是这样 xxx();和(xxx)();是等效的。
调用一个匿名函数是这样 (函数体...)();所以就有了(function(){})();