注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

①嗰亽挺ぬ

莈亽噯,僦洎巳噯洎巳

 
 
 

日志

 
 
 
 

JS 函数直接量和构造函数的区别  

2013-11-18 10:31:43|  分类: web开发~js |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1、函数直接量和构造函数的区别  
//写法1
var f = function(){
return 1;
}
alert(f());// 1
//写法2
function f(){
return 2;
}
alert(f());// 1

调换位置之后:
function f(){
return 2;
}
alert(f());// 2

var f = function(){
return 1;
}
alert(f());// 1

变量声明及函数表达式的引用赋值。

写法1中包含了三层意思

声明一个变量 getLength
声明一个匿名函数
变量 getLength 赋值为匿名函数的引用
就是说,写法1中的“函数声明”是在代码执行期——代码执行的时候——去“声明”的。

如果你想要执行 getLength(),就必须在该行代码执行以后才能成功调用。

例如
f();  // 在赋值前执行
// TypeError: undefined is not a function
// 语法分析阶段不会报错,当代码执行到上面时,就会报 TypeError,因为 getLength 尚未赋值

var f = function(){
.....
};
写法2 可以是正宗的函数声明。

其作用就是声明一个名为 getLength 的函数。

函数声明是在语法分析阶段就已经完成(代码执行前)。故我们可以这样

getLength();  // 完全OK

function getLength(){
         .....
};
参考网址:http://segmentfault.com/q/1010000000194238
  评论这张
 
阅读(16)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017