位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 扩展原型方法

提问人:刘团圆发布时间:2020-11-26

■设计思路

JavaScript允许通过prototype为原生类型扩展方法,扩展方法可以被所有对象调用。例如,通过Function, prototype为函数扩展方法,然后为所有函数调用。

■设计代码

为Function添加一个原型方法method,该方法可以为其他类型添加原型方法。

Function.prototype.method = function(name, func) {

    this.prototype[name] = func;

    return this;

};

■应用代码

【示例1】下面利用method扩展方法为Number扩展一个int原型方法。该方法可以对浮点数进行取整。

Number.method('int', function() {

    return Math[this < 0 ? 'ceil' : 'floor'] (this);

});

console.log((-10 / 3).int());      //-3

    Number.method方法能够根据数字的正负来判断是使用Math.ceil还是Math.floor,这样就避免了每次都编写上面的代码。

【示例2】下面利用method扩展方法为String扩展一个trim原型方法。该方法可以清除字符串左右 两侧的空字符。

String.method(1 trim1, function () {

    return this.replace(/^\s+ 丨\s+$/g, '');

});

console, log ('"' + " abc ".trim() + '"'); //返回带引号的字符串 ''abc''

trim方法使用了一个正则表达式,把字符串中的左右两侧的空格符清除掉。

另外,可以使用hasOwnProperty方法过滤原型属性或者私有属性。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部