深入了解javascript中的函数:
首先我们来看一下创建函数的一些方法
对象var date=new Date()一样创建函数对象,var func=new Function(param1,param2,body)
下面的代码是等价的
--------------------
再看下面两段代码:
毋庸置疑肯定会弹出2 分析一下上面的代码
var func=function(a,b)
创建一个无名函数,只是让一个变量 func 指向了这个无名函数.
需要注意的就是调用有名函数可以在其声明之前调用
转载请注明出处:http://www.liebo6.com
首先我们来看一下创建函数的一些方法
1 function func1(){..}
2 var func2=function(){}
3 var func3=function func4(){}
4 var func5=new Function(){}
javascript执行的时候,每个函数都被维护成为一个对象.而函数对象对应的类型是Function 正如日期对象对应的类型是Date 因此我们可以像创建一个日期2 var func2=function(){}
3 var func3=function func4(){}
4 var func5=new Function(){}
对象var date=new Date()一样创建函数对象,var func=new Function(param1,param2,body)
下面的代码是等价的
function func(a,b)
{
alert(a+b);
}
func(1,1);
{
alert(a+b);
}
func(1,1);
--------------------
var func=new Function("a","b","alert( a+b)");
func(1,1)
func(1,1)
再看下面两段代码:
function func(a,b)
{
alert(a+b);
}
func(1,1);
---------------------------
var func=function(a,b)
{
alert(a+b);
}(1,1)
{
alert(a+b);
}
func(1,1);
---------------------------
var func=function(a,b)
{
alert(a+b);
}(1,1)
毋庸置疑肯定会弹出2 分析一下上面的代码
var func=function(a,b)
创建一个无名函数,只是让一个变量 func 指向了这个无名函数.
需要注意的就是调用有名函数可以在其声明之前调用
func(1,1);
function func(a,b)//有名函数
{
alert(a+b);
}
甚至下面代码也可以正常运行
func(1,1)l
var func=function(a,b)
{
alert(a+b); //将会产生func未定义错误。
}
function func(a,b)//有名函数
{
alert(a+b);
}
甚至下面代码也可以正常运行
func1();
var func=function func1()
{
alert(1);
}
而调用无名函数必须在其声明之后调用 下面代码不能运行var func=function func1()
{
alert(1);
}
func(1,1)l
var func=function(a,b)
{
alert(a+b); //将会产生func未定义错误。
}
转载请注明出处:http://www.liebo6.com