码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 学习笔记: 扩充类型的功能

时间:2016-11-06 16:26:29      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:put   java   floor   pre   实例   字符串   正则   style   保险   

JavaScript 是允许给基本类型扩充功能的。例如,可以通过对Object.prototype增加方法,可以让该方法对所有的对象都可用。 这样的方式对函数,数组,字符串,数字,正则表达式和布尔值同样适用。

例如,可以通过对Function.prototype 增加方法对所有的函数可用:

Function.prototype.method = function(name, func) {
  this.prototype[name] = func;
  return this;  
}

通过给Function.prototype 增加method方法,之后再增加方法直接调用mehod方法即可,而不必再写prototype。例如,JavaScript没有整形类型,我们可以通过给Number.prototype增加一个integer方法类实现。

Number.method("integer", function(){
    return Math[this < 0 ? ‘ceil‘ : ‘‘floor‘](this);
});

console.log((-10 / 3).integer());   //out put -3

通过给基本类型增加方法,可以极大提高语言的表现力。因为JavaScript原型继承的动态本质,新的方法立刻被赋予到所有的对象实例上,包括在方法被增加之前就创建好的对象。

由于基本类型的原型是公用结构的,因此在使用类库的时候一定要小心。一个保险的做法就是只在确定没有该方法的时候才添加它,例如:

Function.prototype.method = function(name, func) {
  if (!this.prototype(name)) {
    this.prototype[name] = func;
  }
  return this;
};

 

JavaScript 学习笔记: 扩充类型的功能

标签:put   java   floor   pre   实例   字符串   正则   style   保险   

原文地址:http://www.cnblogs.com/JacobQiao/p/6035328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!