长度属性如何工作?

时间:2016-12-12 00:13:56

标签: javascript

我正在编写需要在原型中引用this的代码,但它不能是一个函数。 Javascript不会让我这样做,但似乎数组和字符串的length属性就是这样做的。我知道length是内置的,我的代码不是,但如果可以的话,我该如何实现呢?

我试过了:

String.prototype.prototypeName = (function(aThing){
    //Do whatever I need to do here
})(this);

但是引用了全局对象,因为this在函数外部被调用。

String.prototype.prototypeName = function(aThing){
    //Do whatever I need to do here referencing this
};

然而,这是一个功能,我不能拥有它。

我没有函数,因为用户可以调用该函数并在其上使用typeof,并且原型应该返回一个字符串。 例如:

String.prototype.reverse = "Put something that is the reversed string (or this)";
console.log("Stuff"); //"ffutS"
console.log("Anything"); //gnihtynA

1 个答案:

答案 0 :(得分:0)

您可以使用Javascript getter访问计算属性而无需调用原型函数。请注意,这只是IE9 +。