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);
}
});
本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/6510536.html有问题欢迎与我讨论,共同进步。
javascript扩充基本类型的功能的更多相关文章
- JavaScript 学习笔记: 扩充类型的功能
JavaScript 是允许给基本类型扩充功能的.例如,可以通过对Object.prototype增加方法,可以让该方法对所有的对象都可用. 这样的方式对函数,数组,字符串,数字,正则表达式和布尔值同 ...
- WebKit Web Inspector增加覆盖率分析和类型推断功能
WebKit中的Web Inspector(Web检查器)主要用于查看页面源代码.实时DOM层次结构.脚本调试.数据收集等,日前增加了两个十分有用的新功能:覆盖率分析和类型推断.覆盖率分析工具能够可视 ...
- 编程笔记:JavaScript 中的类型检查
在Badoo的时候我们写了大量的JS脚本,光是在我们的移动web客户端上面就有大概60000行,可想而知,维护这么多JS可是相当具有挑战性的.在写如上规模js脚本客户端应用的时候我们必须对一件事保持警 ...
- JavaScript权威指南--类型、值和变量
本章要点图 数据类型:计算机程序的运行需要对值(value)比如数字3.14或者文本"hello world"进行操作,在编程语言中,能够表示并操作的值的类型叫做数据类型(type ...
- JavaScript confirm 自定义风格及功能实现
在网上找了一些弹窗插件,例如bootbox, 功能和动画效果都做的很好,但是很难自定义样式. 项目需要,Google相关方法后写了一个Demo, 没有JavaScript confirm切断线程的功能 ...
- 利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
原文地址 http://www.jb51.net/article/33640.htm 在通过Javascript实现客户端和服务端的交互时,有时候需要对操作系统进行判断,以便实现不同操作系统下的兼容性 ...
- JavaScript获取浏览器类型与版本
从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: <script type="text/javascript"> var S ...
- 小结 javascript中的类型检测
先吐槽一下博客园的编辑器,太不好用了,一旦粘贴个表格进来就会卡死,每次都要用html编辑器写,不爽! 关于javascript的类型检测,早在实习的时候就应该总结,一直拖到现在,当时因为这个问题还出了 ...
- JavaScript判断浏览器类型及版本
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一 ...
随机推荐
- 设计模式C++学习笔记之七(AbstractFactory抽象工厂模式)
抽象工厂,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类.对于工厂方法来说,抽象工厂可实现一系列产品的生产,抽象工厂更注重产品的组合. 看代码: 7.1.解释 main(),女 ...
- python获取esxi的磁盘使用率信息
#!/usr/bin/python3 #coding:utf-8 #Author: ziming """ 只用于模拟开发功能测试 """ f ...
- ubuntu server 14.04 上安装jdk1.8
ubuntu server 14.04 上安装jdk1.8 1.使用apt-get安装oracle-jdk安装oracle jdk sudo apt-get install python-softwa ...
- PHP程序守护进程化
一般Server程序都是运行在系统后台,这与普通的交互式命令行程序有很大的区别.glibc里有一个函数daemon.调用此函数,就可使当前进程脱离终端变成一个守护进程,具体内容参见man daemon ...
- websocket:日常总结
1.报错:DefaultHandshakeHandler : Handshake failed due to invalid Upgrade header 参考文章:https://www.cnblo ...
- 关于EditText一些效果
效果如图,由TextView View(竖线) EditText与ImageView组成 首先更改draw able中shape代码 <?xml version="1.0" ...
- 【算法】二分查找法&大O表示法
二分查找 基本概念 二分查找是一种算法,其输入是一个有序的元素列表.如果要查找的元素包含在列表中,二分查找返回其位置:否则返回null. 使用二分查找时,每次都排除一半的数字 对于包含n个元素的列表, ...
- 前端 -----02 body标签中相关标签
今日内容: 字体标签: h1~h6.<font>.<u>.<b>.<strong><em>.<sup>.<sub> ...
- 腾讯云CVM之间配置免密钥登录
背景: 1客户A和B俩台主机之间需要实现免密钥登录,已绑定腾讯云申请的密钥对 系统:centos7.3 A:192.168.0.100 B:192.168.0.84 A主机的私钥文件:aaa B主机的 ...
- 自定义Dialog的详细步骤(实现自定义样式一般原理)
现在很多App的提示对话框都非常有个性,然而你还用系统的对话框样式,是不是觉得很落后呢,今天我就给大家讲讲怎样自定义自己的Dialog,学会了之后,你就会根据自家app的主题,设计出相应的Dialog ...