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中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
javascript:void(0)使用探讨
Aug 27 Javascript
深入理解JavaScript高级之词法作用域和作用域链
Dec 10 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
Apr 16 Javascript
究竟什么是Node.js?Node.js有什么好处?
May 29 Javascript
js中json处理总结之JSON.parse
Oct 14 Javascript
深入理解Angularjs中$http.post与$.post
May 19 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
May 09 Javascript
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
详解Vue CLI 3.0脚手架如何mock数据
Nov 23 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
Aug 04 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 in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
调整PHP的性能
2013/10/30 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
Json序列化和反序列化方法解析
2013/12/19 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
Angular排序实例详解
2017/06/28 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
react+antd 递归实现树状目录操作
2020/11/02 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
Python字符转换
2008/09/06 Python
Python程序设计入门(5)类的使用简介
2014/06/16 Python
详解Python装饰器由浅入深
2016/12/09 Python
Python处理文本换行符实例代码
2018/02/03 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
Python urllib3软件包的使用说明
2020/11/18 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
迷你分体式空调:SoGoodToBuy
2018/08/07 全球购物
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
2014两会优秀的心得体会范文
2014/03/17 职场文书
读书小明星事迹材料
2014/05/03 职场文书
安全标兵事迹材料
2014/08/17 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python