调用javascript返回函数作为常规定义的方法?
我正在尝试学习javascript,我发现以下代码: 我不明白如何调用这些返回函数,因为在对象(即mycat.makeOlder())上明确定义了这些函数。 有人能解释一下吗? 顺便说一句,我知道oop java/c }调用javascript返回函数作为常规定义的方法?,javascript,javascript-objects,Javascript,Javascript Objects,我正在尝试学习javascript,我发现以下代码: 我不明白如何调用这些返回函数,因为在对象(即mycat.makeOlder())上明确定义了这些函数。 有人能解释一下吗? 顺便说一句,我知道oop java/c } 您已经创建了属于CatMaker类的一些函数 您可以在此处运行示例: 如果您只是在CatMaker范围之外声明函数,您可以像往常一样通过整个文件调用常规的“静态”函数 如果你没有创建类,但仍然想调用它,你可以考虑一个不是函数的,这是由 CasMeuts返回的纯对象的方法,所以你
您已经创建了属于CatMaker类的一些函数 您可以在此处运行示例: 如果您只是在
CatMaker
范围之外声明函数,您可以像往常一样通过整个文件调用常规的“静态”函数
如果你没有创建类,但仍然想调用它,你可以考虑一个不是函数的
,这是由<代码> CasMeuts<代码>返回的纯对象的方法,所以你可以通过<代码> MyCAT//CudioValabeCon访问这些方法,你不调用示例中的方法吗?CatMaker函数返回一个对象,该对象由{}
括号指定。该对象定义了一些方法,可以使用点表示法访问这些方法。因此,mycat.makeOlder
引用了一个可以调用的函数。例如,在javascript中,您不在类中定义方法(属性中的函数),而是将它们放在对象中。
function CatMaker(name) {
var age = 10;
//construct an object on the fly with three methods.
//All methods have access to age, but age cannot be
//directly accessed outside of this function.
return {
"sayHello": function () { //first method
alert("Miaow");
},
"getAge": function (inCatYears) { //second method
if (inCatYears) {
return age * 7;
}
else {
return age;
}
},
"makeOlder": function () { //third method
age++;
}
};
var mycat = CatMaker('Snuffles');
alert(mycat.getAge(true)); //returns 70
alert(mycat.makeOlder());
alert(mycat.getAge(true)); //returns 77