javascript功能对象方法
嗨即时通讯新的JavaScript和我偶然发现了JavaScript中的这段代码。我不明白如何可以方法增量和打印定义内功能。这是否意味着创造是一个对象?javascript功能对象方法
function create() {
var counter = 0;
return {
increment: function() {
counter++;
},
print: function() {
console.log(counter);
}
}
}
var c = create();
c.increment();
c.print(); // 1
函数“create()”返回一个对象。它返回的对象有两个属性,“增量”和“减量”,它们都具有作为值的函数。这些函数对“create()”中定义的变量“counter”进行操作。
每次调用“create()”时都会实例化一个名为“closure”的新上下文。上下文包含“counter”变量的新副本。从调用“create()”返回的对象因此可以访问他们自己的私有“counter”实例。
感谢您的答案,请原谅我的初学者问题,就像我说的新的JavaScript。 我有两个子问题为你的答案 - 什么是函数“create()”返回调用或其名称propherty, 和函数之间的区别是什么“create()”返回对象或函数javascript中的类 – 2012-01-10 12:32:02
该对象并没有被特别称为任何东西;有时候人们称之为“对象字面量”。就语言而言,JavaScript中只有一种功能。任何函数都可以用作对象构造函数,但函数的实际功能可能没有多大意义。在JavaScript中使用OOP有许多不同的方案,但实际的语言机制与C++,C#或Java中的OOP不同。 – Pointy 2012-01-10 13:24:01
(这里2018年当然有不同类型的功能。) – Pointy 2018-02-08 17:00:47
您可以使用[在线JavaScript美化](http://jsbeautifier.org)等服务清理杂乱的代码。 – Pointy 2012-01-09 11:09:24