众所周知,在 JS 中,您可以在函数内部创建函数,如下所示:
function digit() { return 9 };
digit.five = function() { return 5 };
digit(); // 9
digit.five() // 5
我不知道这是否是一种不好的做法(可能是)——因为它工作正常,你可以使用它。
但是如果我们有一个digit()
函数作为某个对象的方法(见下面的例子)呢?
那么我们将如何声明digit.five()
呢?假设我们想在obj
.
var obj = {
digit: function() { return 9 },
// digit.five: … ???
// digit["five"]: … ???
}
obj.digit(); // 9
obj.digit.five() // 5
是否有可能不创建新obj.digitFive()
方法?
PS:这里的用户nnnnnn 说,我们可以在里面创建一个属性: obj.digit()
var obj = {
digit: function () {
return 9;
obj.digit.five = function () { return 5 };
}
}
这是唯一的方法吗?