关于javascript定义function的探讨

常见定义函数的方法 函数

使用函数语句来定义,语法以下: spa


  1. function myfunc(arg_1,arg_2,...,arg_n){
  2. // 执行一些语句
  3. }

使用函数表达式来定义,语法以下: 对象

  1. var myfunc=function(arg_1,arg_2,...,arg_n){
  2. // 执行一些语句
  3. }   使用Function类来定义,语法以下:

这是由于function语句在解析时会发生被提高的状况。也就是说无论function被放置在哪里,它都会被移动到被定义时所在做用域的顶层。这样的后果就是放宽了函数必须先声明后使用的要求。 作用域

也就是说函数声明方式在代码执行以前(解释期)被加载到做用域中,匿名函数方式则需在代码执行时(运行期)加载。 io

最经常使用的对象是将全局对象window做为参数传进去,这样函数或变量就成为全局函数和变量了。不少库函数都是这样来定义的,jQuery整个库定义都位于匿名自执行函数中,并传递window做为参数: function

  1. (function(window,undefined){
  2. //jQuery定义
  3. })()
相关文章
相关标签/搜索