javascript 函数三种写法的区别 哪位高人说一下javascript 函数三种写法的区别,特别是function f(){}和var f=function(){}的区别 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 他们区别不大,而且大多数情况下,我们不需要知道他们的区别。但是一些极少数情况,他们会有区别:function f(){ alert(1);}f();//这里执行alert(2);function f(){ alert(2);}f();//这里会执行alert(2);和var f=function(){ alert(1);}f();//这里执行alert(1)f=function(){ alrt(2);}f();//alert(2);桌面版本的Csdn——《Csdn收音机》,点击查看详细! 还有,=function(){},这样的写法可以当作表达式。也就是是有值的,可以做对象使用。《Csdn收音机》是个开源的辅助工具,以后学技术更方便了! a(); // 可以执行function a() {};b(); // b未声明var b = function() {}第三种?匿名函数?var b = function() {} 其实就是把匿名函数赋值给b。 实际上你可以在 ActiveScript3.0 编程手册中文PDF版 关于函数那一节找到最标准的Adodbe官方解释 var f=function(){}这个里面的函数和变量可以导航着取 摘自:http://topic.csdn.net/u/20090217/13/653f7949-9e0c-4e99-adb3-dcbc99fca8d5.html?60684讲的很透彻 需要注意的是,尽管下面两种创建函数的方法是等价的:以下是引用片段:function funcName(){ //函数体 } //等价于 var funcName=function(){ //函数体 } 但前面一种方式创建的是有名函数,而后面是创建了一个无名函数,只是让一个变量指向了这个无名函数。在使用上仅有一点区别,就是:对于有名函数,它可以出现在调用之后再定义;而对于无名函数,它必须是在调用之前就已经定义。例如:以下是引用片段:<script language="JavaScript" type="text/javascript"> <!-- func(); var func=function(){ alert(1) } //--> </script> 这段语句将产生func未定义的错误,而:以下是引用片段:<script language="JavaScript" type="text/javascript"> <!-- func(); function func(){ alert(1) } //--> </script> 则能够正确执行,下面的语句也能正确执行:以下是引用片段:<script language="JavaScript" type="text/javascript"> <!-- func(); var someFunc=function func(){ alert(1) } //--> </script> 由此可见,尽管JavaScript是一门解释型的语言,但它会在函数调用时,检查整个代码中是否存在相应的函数定义,这个函数名只有是通过function funcName()形式定义的才会有效,而不能是匿名函数。 jquery在IE和firefox中 关于页面速度 杨光_left 是不是等于*left ie下面 数米网首页每日净值的这个载入功能如何实现? 关于theForm.onsubmit frameset的一个页面用js怎么获取另一页面的值 Ueditor编辑器问题, 急急急!!!可以加分 关于window.close()的问题,请大家指教 javascrtip 如何判断当天是当月的最后一天? 如何在窗体关闭时给出提示? 求一段简单的js正则替换例子 通过new Date来拿到月份中的天数的问题
alert(1);
}
f();//这里执行alert(2);
function f(){
alert(2);
}
f();//这里会执行alert(2);和var f=function(){
alert(1);
}
f();//这里执行alert(1)
f=function(){
alrt(2);
}
f();//alert(2);
桌面版本的Csdn——《Csdn收音机》,点击查看详细!
也就是是有值的,可以做对象使用。《Csdn收音机》是个开源的辅助工具,以后学技术更方便了!
function a() {
};
b(); // b未声明
var b = function() {
}第三种?匿名函数?
var b = function() {} 其实就是把匿名函数赋值给b。
这个里面的函数和变量可以导航着取
讲的很透彻
需要注意的是,尽管下面两种创建函数的方法是等价的:以下是引用片段:
function funcName(){
//函数体
}
//等价于
var funcName=function(){
//函数体
} 但前面一种方式创建的是有名函数,而后面是创建了一个无名函数,只是让一个变量指向了这个无名函数。在使用上仅有一点区别,就是:对于有名函数,它可以出现在调用之后再定义;而对于无名函数,它必须是在调用之前就已经定义。例如:以下是引用片段:
<script language="JavaScript" type="text/javascript">
<!--
func();
var func=function(){
alert(1)
}
//-->
</script> 这段语句将产生func未定义的错误,而:以下是引用片段:
<script language="JavaScript" type="text/javascript">
<!--
func();
function func(){
alert(1)
}
//-->
</script> 则能够正确执行,下面的语句也能正确执行:以下是引用片段:
<script language="JavaScript" type="text/javascript">
<!--
func();
var someFunc=function func(){
alert(1)
}
//-->
</script> 由此可见,尽管JavaScript是一门解释型的语言,但它会在函数调用时,检查整个代码中是否存在相应的函数定义,这个函数名只有是通过function funcName()形式定义的才会有效,而不能是匿名函数。