A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱京辉 中级黑马   /  2013-1-18 18:00  /  1988 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 朱京辉 于 2013-1-19 20:45 编辑

js中的function add(){} 定义函数,这个add的函数名级别属于什么?
上课视频中说使用匿名函数var fadd = function(){} 的方法可以避免函数名冲突, 理由在哪里?怎么冲突?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

4 个回复

倒序浏览
匿名函数只能使用一次,每次使用都要重新写一遍这个函数。不同的匿名函数是由系统区分的,你没必要纠结这个。
就像变量名是存储空间地址的别名一样,系统可以分清自己存储空间的不同地址~

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
靳石磊 发表于 2013-1-18 18:15
匿名函数只能使用一次,每次使用都要重新写一遍这个函数。不同的匿名函数是由系统区分的,你没必要纠结这个 ...

请问只能使用一次,是什么意思,我测试了下在同一个html中,同一个script可以重复使用啊,不同id的script中也可以调用,跨html估计不可以
回复 使用道具 举报
<script language="JavaScript" type="text/javascript">   
            //aaa();这样调用就会出错   
            var aaa = function(){   
                 alert("A");   
             }   
             aaa();//这样就不会出错   
               
            //先调用后声明   
             bbb();   
            function bbb(){   
                 alert("bb");   
             }   
         </script>  
这么表达能理解了吧。。。就像JAVA类加载变量一样,有点局部顺序问题。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
这样可以的,我以为你的var aaa是得到函数的返回值,是我理解错了。这样的话可以避免函数重名,就是将函数名变量化,因为变量名是不能重复的,重复会报错。这样就不会有重名函数了~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马