常见定义函数的方法
使用函数语句来定义,语法如下:
- function myfunc(arg_1,arg_2,...,arg_n){
- // 执行一些语句
- }
使用函数表达式来定义,语法如下:
- var myfunc=function(arg_1,arg_2,...,arg_n){
- // 执行一些语句
- } 使用Function类来定义,语法如下:
这是因为function语句在解析时会发生被提升的情况。也就是说不管function被放置在哪里,它都会被移动到被定义时所在作用域的顶层。这样的后果就是放宽了函数必须先声明后使用的要求。
也就是说函数声明方式在代码执行之前(解释期)被加载到作用域中,匿名函数方式则需在代码执行时(运行期)加载。
最常用的对象是将全局对象window作为参数传进去,这样函数或变量就成为全局函数和变量了。很多库函数都是这样来定义的,jQuery整个库定义都位于匿名自执行函数中,并传递window作为参数:
- (function(window,undefined){
- //jQuery定义
- })()
来源:oschina
链接:https://my.oschina.net/u/205358/blog/121913