Prototype Number对象 学习


Posted in Javascript onJuly 19, 2009
Object.extend(Number.prototype, (function() { //返回十六进制颜色之     
function toColorPart() { 
return this.toPaddedString(2, 16); 
} 
//返回连续的下一个数值 
function succ() { 
return this + 1; 
} 
//连续执行某个操作 
function times(iterator, context) { 
$R(0, this, true).each(iterator, context); 
return this; 
} 
//返回固定长度的字符串,前面补0 
function toPaddedString(length, radix) { 
var string = this.toString(radix || 10); 
return '0'.times(length - string.length) + string; 
} 
function toJSON() { 
return isFinite(this) ? this.toString() : 'null'; 
} 
function abs() { 
return Math.abs(this); 
} 
function round() { 
return Math.round(this); 
} 
function ceil() { 
return Math.ceil(this); 
} 
function floor() { 
return Math.floor(this); 
} 
return { 
toColorPart: toColorPart, 
succ: succ, 
times: times, 
toPaddedString: toPaddedString, 
toJSON: toJSON, 
abs: abs, 
round: round, 
ceil: ceil, 
floor: floor 
}; 
})());

这里简单介绍几个prototype扩展的方法。
times方法:
看一下示例
var s = ''; 
(5).times(function(n) { s += n; }); alert(s); 
// -> '01234' 
//函数原型:times(iterator) -> Number,基本就是连续执行N次iterator方法,并且传给iterator的第一个参数为0~N-1 
/* 
这里注意一下调用方法时的写法:5要加上括号,否则直接写5.times,语法会有错误。因为5后面的点会被当成小数点解析,而小数点后面跟字符串会有语法错误。 
还可以有令一种写法:5['times'](function(n) { s += n; }); 
其实这里的5和Number的关系就相当于C#里面int和Integer个关系差不多 
*/

toJSON方法:

这个方法里面的isFinite(number)是JavaScript提供的全局方法:

假如 number 不是 NaN 、负无穷或正无穷,那么 isFinite 方法将返回 true 。 假如是这三种情况,函数返回 false 。

剩下方法就不多解释了,太简单了,给几个示例看看就完了:

(5).succ() 
// -> 6 
$A($R(1, 5)).join('') 
// -> '12345' (128).toColorPart() 
// -> '80' 
(10).toColorPart() 
// -> '0a' 
(13).toPaddedString(4); // -> '0013' 
(13).toPaddedString(2); // -> '13' 
(13).toPaddedString(1); // -> '13' 
(13).toPaddedString(4, 16) // -> '000d' 
(13).toPaddedString(4, 2); // -> '1101'

Javascript 相关文章推荐
Jquery 设置标题的自动翻转
Oct 03 Javascript
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
纯javascript实现四方向文本无缝滚动效果
Jun 16 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
Aug 05 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
Oct 03 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
Aug 15 Javascript
vue实现购物车抛物线小球动画效果的方法详解
Feb 13 Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 Javascript
ES6基础之展开语法(Spread syntax)
Feb 21 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
Feb 16 Javascript
vue实现PC端分辨率适配操作
Aug 03 Javascript
Prototype ObjectRange对象学习
Jul 19 #Javascript
Prototype RegExp对象 学习
Jul 19 #Javascript
Prototype Class对象学习
Jul 19 #Javascript
javascript iframe内的函数调用实现方法
Jul 19 #Javascript
9个javascript语法高亮插件 推荐
Jul 18 #Javascript
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 #Javascript
比较简单的异步加载JS文件的代码
Jul 18 #Javascript
You might like
PHP如何利用P3P实现跨域
2013/08/24 PHP
php中的比较运算符详解
2013/10/28 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
js 数值项目的格式化函数代码
2010/05/14 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
jsp 自动编译机制详细介绍
2016/12/01 Javascript
微信公众平台开发教程(五)详解自定义菜单
2016/12/02 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
python3安装crypto出错及解决方法
2019/07/30 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
深入探究HTML5的History API
2015/07/09 HTML / CSS
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
城管个人总结
2015/02/28 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS