js函数

来源:互联网 发布:douphp cms 编辑:程序博客网 时间:2024/05/22 17:25
  1. 定义函数的方式分为两种,一种是函数声明式的,格式是 function functionName(args0,args1,args2,….){statement},一种是函数表达式,格式是 var functionName=function(args0,args1,args2,….){statement}.

函数声明式的具有两个显著特性,一是firefoxsafariChromeOpera给定的name属性,这个属性可以访问到函数的函数名。二是函数声明提升,即在代码执行前会先读取函数声明。而匿名函数,即第二种定义方式,他的name属性是空字符串,而且在使用之前必须先进行赋值,即不能先使用后定义。

  1. if(){}条件语句中的函数声明会怎么处理,这个问题在规范中没有定义,各浏览器自己实现,据我的了解,chrome仍然会对函数定义进行提前,而Firefox在某一些版本中则不会进行提前,如果你先调用的话,就可能碰到函数未定义的错误。所以最好永远不要在分支语句中做函数声明。比如下面的代码
If(condition){function functionName(args0,args1,args2){Statement1}}else {function functionName(args0,args1,args2){Statement2}}


大多数浏览器会返回第二个声明,firefox会在condition为true时返回第一个。如果换成函数表达式则不会出现这种效果。

0 0
原创粉丝点击