我正在尝试定义一个“点函数”,其中没有参数,但在像这样之前有一个.和一个字符串或数字:



您执行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/

10-11 04:06