您的位置:首页 > 移动开发 > Objective-C

Javascript对象 Object 与函数 Function

2015-04-05 19:55 471 查看
今天刚遇到的,贴上代码

function Foo() {
var i = 0;
return function() {
console.log(i++);
}
}

var f1 = Foo(),
f2 = Foo();
console.log(f1());
console.log( f1());
console.log(f2());//function 是一个新对象。

console.log("---------");
var tes={
count:0,
add: function () {
return this.count++;
}

}
var ff1=tes;//对象的数据存在堆中
var ff2=tes;
console.log(ff1.add());
console.log(ff1.add());
console.log(ff2.add());


首先,function那一段 输出的结果是 0 1 0

object那一段输出的结果是 0 1 2

我前面转载的一篇日志中有提到, function 会新开一个内存,而对象则会引用(引用数据存放在堆中,与原始值如var i =1不同),所以ff2 与ff1指向同一个对象,而f1与f2是两个不同的对象,都有自己的function。

关于对象: http://www.cnblogs.com/fool/archive/2010/10/07/1845226.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: