有没有办法为所有类定义全局方法?
使用代码更容易描述...
Class.myMethod(){}
var Foo = function(){}
var Bar = function(){}
Foo.myMethod();
Bar.myMethod();
我知道,这很奇怪,但我需要它。
如果可能,我如何在方法代码中获取类变量:
Class.myMethod(){
var anything; //anything should contains current class.
}
var Foo = function(){}
var Bar = function(){}
Foo.myMethod(); // anything should be Foo
Bar.myMethod(); // anything should be Bar
答案 0 :(得分:0)
Javascript中没有“类”。但是,Foo
和Bar
是构造函数,即它们是函数,并且继承自Function
类的.prototype
object。所以你可以做到
Function.prototype.myMethod = function(){
var anything = this; // refers to the current constructor function
console.log(anything.name); // for example
}
function Foo(){}
function Bar(){}
Foo.myMethod(); // "Foo"
Bar.myMethod(); // "Bar"