晕居然有这等高手,用这种写法。。这么看吧:最后是();代表调用一个函数;
这个之前是(...),这个代表了要调用的函数。
是什么样的函数呢?
是一个没有名字的函数,它的定义是alert("aaa")。这样总体看来,就是调用一个定义为alert("aaa")的函数,自然就有输出了谁写的代码阿?这种高人亲近不得的。简简单单一件事,非要弄得这么神秘。。
:)
这个之前是(...),这个代表了要调用的函数。
是什么样的函数呢?
是一个没有名字的函数,它的定义是alert("aaa")。这样总体看来,就是调用一个定义为alert("aaa")的函数,自然就有输出了谁写的代码阿?这种高人亲近不得的。简简单单一件事,非要弄得这么神秘。。
:)
解决方案 »
- js 简单的this问题
- Ext中设置grid宽/高失效
- js 复制数组后更改原始数组,新数组值也被改变 求解
- 如何将其拼接为10,A|11,B
- jQuery选项卡问题,哪位大侠帮忙看看啊
- 关于javascript内存释放问题!
- 请问这个加法的js要怎么写呢!!
- 如何将"04-Apr-2005"转换成"04-04-2005"和"2005-04-04"???
- 请问,在一台没装声卡的机器上,在网页上按回车用JAVASCRIPT可以不让PC喇叭发出声音吗,或者用什么ACTIVEX可以做到
- checkbox
- 请问如何实现在网页中播放本地服务器上的音乐文件?(就是网上常流行的在线播放的那种)
- 大家帮着看一看吧!
我开始也是跟你想的一样。
但是,请看如下几个代码与结果:
(function xyz() {alert("aaa");});xyz(); //结果:xyz not defined
(function xyz() {alert("aaa");})(); //与原始的一样,直接输出aaa
(function xyz() {alert("aaa");});(); //语法错误
(function xyz() {alert("aaa");};xyz();) //缺少右括号
function xyz() {alert("aaa");};xyz(); //这个大家都能明白
晕了晕了,高手呢?高手呢?
如果function(){...}是一个无名函数,无法解释function() {alert("aaa");}(); 将出现语法错误
如果(function(){...})是一个无名函数,似乎(function() {alert("aaddda");});();应该也对,但是也是语法错误
总之我已经晕菜了
(function() {alert("aaddda");})();
首先function() {alert("aaddda");}这一段构建一个function对象,在周围加一对()就表示引用该对象,再后面的.()表示运行。。
运算符的灵活运用对新手来说,确实看起来挺麻烦的。
复杂?
有这个复杂?((void *())0)();
//C语言里的经典例子
这也叫复杂啊?
还不跟上面的一个级别的啊
一样的简单,还不是一级一级的去分析运算符优先级就行了的。。
大家还是回去好好看看C里的运算符优先级吧,对大家都有好处的,省得看了这么简单的代码就说复杂
2. var name = new Function( "alert('aaa');");调用时都使用 name();就可以了简写可以是
1. (function name() { alert('aaa') })();
2. (new Function( "alert('aaa');"))();
YOU以为你系边个?