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获取网页中的js、css、Flash等文件
Dec 20 Javascript
浅谈javascript中的作用域
Apr 07 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
May 23 Javascript
jQuery对象的length属性用法实例
Dec 27 Javascript
浅析JavaScript事件和方法
Feb 28 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
Aug 26 Javascript
js实现的简单图片浮动效果完整实例
May 10 Javascript
DOM中事件处理概览与原理的全面解析
Aug 16 Javascript
node中Express 动态设置端口的方法
Aug 04 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 Javascript
解决百度Echarts图表坐标轴越界的方法
Oct 17 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 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
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
[对联广告] JS脚本类
2006/08/27 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
JS继承用法实例分析
2015/02/05 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python错误处理详解
2014/09/28 Python
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
video.js支持m3u8格式直播的实现示例
2020/05/20 HTML / CSS
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
金融专业个人求职信范文
2013/11/28 职场文书
高中军训广播稿
2014/01/14 职场文书
有趣的广告词
2014/03/18 职场文书
自我鉴定总结
2014/03/24 职场文书
领导班子四风表现材料
2014/08/23 职场文书
先进教师事迹材料
2014/12/16 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书