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 相关文章推荐
javascript 写类方式之六
Jul 05 Javascript
常见的原始JS选择器使用方法总结
Apr 09 Javascript
js实现图片从左往右渐变切换效果的方法
Feb 06 Javascript
javascript鼠标滑动评分控件完整实例
May 13 Javascript
VUE JS 使用组件实现双向绑定的示例代码
Jan 10 Javascript
详解react-router如何实现按需加载
Jun 15 Javascript
angular实现页面打印局部功能的思考与方法
Apr 13 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
May 15 Javascript
webpack常用构建优化策略小结
Nov 21 Javascript
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
vue element ui validate 主动触发错误提示操作
Sep 21 Javascript
vue2和vue3的v-if与v-for优先级对比学习
Oct 10 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笔记之:php数组相关函数的使用
2013/04/26 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
PDO::getAttribute讲解
2019/01/28 PHP
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
Python中求对数方法总结
2020/03/10 Python
浅谈Python 函数式编程
2020/06/20 Python
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
接口可以包含哪些成员
2012/09/30 面试题
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
好的自荐信的要求
2013/10/30 职场文书
工商企业管理应届生求职信
2013/11/03 职场文书
行政助理的职责
2013/11/14 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
Spring Cloud Gateway去掉url前缀
2021/07/15 Java/Android
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js