我正在尝试定义一个“点函数”,其中没有参数,但在像这样之前有一个.
和一个字符串或数字:
您执行2..toString
,而不是toString(2)
。
您如何定义其中之一?
为什么在键入4..toString()
时返回function toString() {[native code]}
?
最佳答案
定义“点功能”很容易。这是您可以在单个对象上定义它的方法。
var a = {}, or a = function() {}, or a = [], etc.
a.dotFunction = function() { return 'hi'; }
console.log(a.dotFunction());
如果要在“类”的所有实例上定义它,请使用
prototype
。function someClass() {
}
someClass.prototype.dotFunction = function() { return 'hi'; };
console.log(new someClass().dotFunction());
您甚至可以在内置类型上执行此操作(有些操作,例如Prototype.js,尽管建议针对此类型执行)。
Number.prototype.dotFunction = function() { return 'hi'; };
console.log((0).dotFunction());
关于javascript - 如何在JavaScript中制作 “dot function”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19872917/