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乱码的一次解决过程 图解教程
Feb 20 Javascript
提高javascript效率 一次判断,而不要次次判断
Mar 30 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
Mar 22 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
Sep 12 Javascript
javascript html5移动端轻松实现文件上传
Mar 27 Javascript
jQuery实现区域打印功能代码详解
Jun 17 Javascript
使用plupload自定义参数实现多文件上传
Jul 19 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
Aug 05 Javascript
详解Angular2中的编程对象Observable
Sep 17 Javascript
微信小程序 保留小数(toFixed)详细介绍
Nov 16 Javascript
vue组件 $children,$refs,$parent的使用详解
Jul 31 Javascript
JS集合set类的实现与使用方法示例
Feb 01 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
详解php实现页面静态化原理
2017/06/21 PHP
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
2015/06/23 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
jQuery代码优化方法总结
2018/01/29 jQuery
JS严格模式知识点总结
2018/02/27 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
javascript实现多边形碰撞检测
2020/10/24 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
python生成指定尺寸缩略图的示例
2014/05/07 Python
利用Tkinter(python3.6)实现一个简单计算器
2017/12/21 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
python生成word合同的实例方法
2021/01/12 Python
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
荷叶圆圆教学反思
2014/02/01 职场文书
介绍信模板
2015/01/31 职场文书
副总经理岗位职责
2015/02/02 职场文书
综合测评个人总结
2015/03/03 职场文书
会计主管岗位职责
2015/04/02 职场文书
民事二审代理词
2015/05/25 职场文书
停车场管理制度范本
2015/08/05 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android