JS两种定义的差异及其内在规律
人们认为,这两种方法都是使用的,但并不是所有的人都知道这两种方法的区别和内部原则。复制代码代码如下所示:
1
func1函数(x,y){
你的密码
}
2
VaR func2函数(x,y)= {
你的密码
}
模式1是一个典型的函数声明(函数声明)。
模式2是一个函数表达式(函数表达式),并分配一个匿名函数的一个变量,或在模式2,一个X参数的匿名函数,Y是创建,然后匿名函数赋给变量func2。
主要区别如下:
1、在函数声明的函数名称指定函数名,函数表达式func1;使用匿名函数
2,模式1在代码执行(解释周期)之前加载到作用域中,并且模式2在代码执行时加载(运行时)。
一个简单的例子说明了它们在使用上的不同。
复制代码代码如下所示:
警报(func1); / / /源func1
警报(func2); / / /未定义
1
func1函数(x,y){
你的密码
}
2
VaR func2函数(x,y)= {
你的密码
}
你可以看到,首先弹出的是func1的源代码,第二次是不确定的,是通过1定义函数(函数声明),可用于对功能代码。函数2定义的函数(函数表达式)不能在定义之前使用,只能在定义之后使用。
内部涉及执行上下文(执行上下文)和激活的对象(活动对象)。加深理解,读ECMAscript 5文件。
越来越多的人最近发现越来越多的人喜欢使用模式2来定义函数,特别是在嵌套函数中,比如函数个体的简单定义或习惯模式1。