Oli*_* Ni 17 javascript function
我正在尝试定义一个"点函数",其中没有参数,但.在它之前有一个和一个字符串或数字:
.toUpperCase().
toLowerCase().
indexOf
().
charAt().substring()
你这样做2..toString,不是toString(2).
你如何定义其中之一?
为什么当我输入4..toString()它返回function toString() {[native code]}?
p.s*_*w.g 15
我强烈建议您不要尝试替换任何内置方法,但是,您可以随意定义自己的方法.
您可以通过将方法附加到Number或String键入原型来完成此操作:
Number.prototype.foo = function(n) { return this * n; };
String.prototype.bar = function(n) { return this.length * n; };
alert(4..foo(2)); // 8
alert("4".bar(2)); // 2
Run Code Online (Sandbox Code Playgroud)
进一步阅读
Pau*_*per 13
定义"点函数"很容易.以下是如何在单个对象上定义它的方法.
var a = {}, or a = function() {}, or a = [], etc.
a.dotFunction = function() { return 'hi'; }
console.log(a.dotFunction());
Run Code Online (Sandbox Code Playgroud)
如果要在"类"的所有实例上定义它,请使用prototype.
function someClass() {
}
someClass.prototype.dotFunction = function() { return 'hi'; };
console.log(new someClass().dotFunction());
Run Code Online (Sandbox Code Playgroud)
您甚至可以在内置类型上执行此操作(有些类似Prototype.js,请执行此操作,但大多数建议使用它).
Number.prototype.dotFunction = function() { return 'hi'; };
console.log((0).dotFunction());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12697 次 |
| 最近记录: |