javascrip中使用Function()构造函数与使用function语句的区别
1.Fuction()构造函数可以动态定义和编译函数,而function语句只能预编译函
数,因此在每次调用使用Function()构造函数定义的函数时,javascript都要编
译一次函数,所以,如果一个函数是需要经常使用的函数就应该避免使用
Function()构造函数来定义函数。
2。使用Fuction()构造函数定义函数时,可以将函数的定义写成表达式,而使用
function语句定义函数则要写成语句或语句块
3。使用Function()构造函数可以在一个表达式中定义函数,而使用function语
句则不能
注意:在使用Function()构造函数时,第一个字母必须大写,而function则所有
字母都是小写。
三种定义函数方法的比较
1.function()
2.Function()
3.在表达式中定义函数
虽然第三种定义函数的方法都可以定义函数,但是还是
有所不同
1。funciton语句可以在任何一个javascript版本中使用;Function()构造函数
只能在javascript1.1或更高版本中使用,在表达式中定义函数的方法只能在
javascript1.2或更高版本中使用。
2。在三种定义函数的方法中,只有使用function语句定义函数的方法不能在表
达式中使用,其他两种方法都可以直接在表达式中定义函数。
3。除了使用function语句定义函数的方法外,其他两种方法使用起来都比较灵
活,便通常使用在只使用一次,无需命名的函数中。
4。除了使用function语句定义函数的方法之外,如果其他两种方法的函数体中
的语句比较多的话,看上去会比较臃肿。
5。使用function语句定义函数和在表达式中定义函数的两种方法中,javascript
只会对函数解析和编译一次,而使用Function()构造函数,在每次调用函数时都
会解析和编译一次。