Javascript如何实现扩充基本类型

 更新时间:2020年08月26日 11:26:23   作者:starof  
这篇文章主要介绍了Javascript如何实现扩充基本类型,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

可以通过给Function.prototype增加方法来使得该方法对所有函数可用。

通过给Function.prototype增加一个method方法,下次给对象增加方法的时候就不必键入prototype这几个字符了。

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

一、JavaScript增加整数类型

JavaScript没有专门的整数类型,但有时候确实只需要提前数字中的整数部分。

可以给Number.prototype增加一个integer方法。

inter()方法根据数字的正负来判断是使用Math.ceiling还是Math.floor。

Number.method('integer',function(){
  return Math[this<0?'ceil':'floor'](this);
});
document.writeln((-10/3).integer());//-3

二、JavaScript缺少一个移除字符串首尾空白的方法

String.method('trim',function(){
  return this.replace(/^\s+|\s+$/g,'');
});

document.writeln(' " '+"  neat  ".trim() +' " ');//" neat "

基本类型的原型是公用结构,所以在类库混用时务必小心。一个保险的做法就是只在确定没有该方法时才添加它。

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

new前缀去调用一个函数

Function.method('new',function () {
  //创建一新对象,它继承自构造器函数的原型对象。
  var that=Object.create(this.prototype);
  //调用构造器函数,绑定-this-到新对象上。
  var other=this.apply(that,arguments);
  //如果它的返回值不是一个对象,就返回该对象。
  return (typeof other==='object'&&other)||that;
});

superior

Object.method('superior',function(name){ //传入方法名name
  var that=this,method=that[name]; 
  return function(){
    return method.apply(that,argumetns);
  }
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 一文解决前端JS小数运算精度问题

    一文解决前端JS小数运算精度问题

    在做项目的时候,前端需要在表格的底部做一个汇总的功能,在采用reduce对当前属性所有值汇总时,发现汇总结果存在好长的小数位,本文给大家介绍了如何解决前端JS小数运算精度问题,需要的朋友可以参考下
    2024-02-02
  • JavaScrpt中如何使用 cookie 设置查看与删除功能

    JavaScrpt中如何使用 cookie 设置查看与删除功能

    这篇文章主要介绍了JavaScrpt中使用 cookie 设置查看与删除功能的方法,文中通过实例代码给大家介绍了js cookie常用的3个预设函数库,需要的朋友可以参考下
    2017-07-07
  • 使用原生js+canvas实现模拟心电图的实例

    使用原生js+canvas实现模拟心电图的实例

    下面小编就为大家带来一篇使用原生js+canvas实现模拟心电图的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 微信小程序动态生成二维码的实现代码

    微信小程序动态生成二维码的实现代码

    这篇文章主要介绍了微信小程序动态生成二维码的实现代码,需要的朋友可以参考下
    2018-07-07
  • 利用hasOwnProperty给数组去重的面试题分享

    利用hasOwnProperty给数组去重的面试题分享

    obj.hasOwnProperty(attr) 判断是否是原型中的属性,false就是原型中的属性,下面这篇文章主要给大家介绍了一道利用hasOwnProperty给数组去重的面试题,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-11-11
  • javascript实现非常简单的小数取整功能示例

    javascript实现非常简单的小数取整功能示例

    这篇文章主要介绍了javascript实现非常简单的小数取整功能,结合具体实例形式分析了javascript数学运算取整相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • bootstrap网页框架的使用方法

    bootstrap网页框架的使用方法

    这篇文章主要为大家详细介绍了bootstrap网页框架的使用方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • JS文本获得焦点清除文本文字的示例代码

    JS文本获得焦点清除文本文字的示例代码

    本篇文章主要是对JS文本获得焦点清除文本文字的示例代码进行介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • js实现砖头在页面拖拉效果

    js实现砖头在页面拖拉效果

    这篇文章主要为大家详细介绍了js实现砖头在页面拖拉效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • uniapp调用手机相机进行拍照的两种方式

    uniapp调用手机相机进行拍照的两种方式

    这篇文章主要给大家介绍了关于uniapp调用手机相机进行拍照的两种方式,在uniapp中有多种方式可以调用相机进行拍照,文中介绍了两种方法,需要的朋友可以参考下
    2023-09-09

最新评论