Javascript,跟在function ()
{
var ...
function1 ();
}()最后的()如何理解。
()后面是否要;
{
var ...
function1 ();
}()最后的()如何理解。
()后面是否要;
解决方案 »
- 急!js如何保留注册信息???
- 为什么用document.getElementById得不到对象总是返回null呢?什么原因
- 遨游真够变态的..正常的层也拦截
- 有哪位大侠知道在javascript中如何使用SQL Server的默认参数?谢谢!!
- 遇到一个奇怪问题,关于HighCharts的全局变量的。
- 菜鸟上路!求动态读取xml文件,所有节点付给一个一维数组代码!
- window.showModalDialog的问题!
- 怎样限制输入框只能输入数字???
- 如何用JavaScript在弹出新窗口是调用ASCII码使电脑蜂鸣器发声
- 请大家告诉我在javasript中如何对文件进行读写,特别是逐行读整个文件
- 有关iframe问题
- IE隐藏关闭按钮
func();等同于~function(){alert(123)}()
一个是在function之前的(,另一个是}后面的test。
<script type="text/javascript">
<!--
(function(s, n, o) {
alert(n); if (n < 5) {
n ++;
arguments.callee.apply(this, arguments);
}
})("test", 0, {a : 1});
//-->
</script>
这个是匿名函数,关键是后面的("test",0, {a :1})理解不了,{a :1}对应于哪个参数。
/***/
})()(function...) //强制表达式运算,运算结果为function;
function()//词法元素,“虚拟参数表”;
()//函数调用;参见周爱民JavaScript语言精髓与编程实践"()"的二义性。
这句:
(function...) //强制表达式运算,运算结果为function;
啥意思,我还是不明白?
var str1 = typeof(123);//()将123作为单值表达式运算,运算结果还是123;var str2 = ('string',123);//()将两个单值表达式做连续运算,连续运算符","的返回值是最后一个表达式的值,所以这里返回123;(function(){//....})//返回一个匿名的function