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使用手册之三 CSS操作
Mar 24 Javascript
JavaScript时间转换处理函数
Apr 14 Javascript
asp.net中oracle 存储过程(图文)
Aug 12 Javascript
jQuery如何封装输入框插件
Aug 19 Javascript
node网页分段渲染详解
Sep 05 Javascript
JavaScript学习笔记--常用的互动方法
Dec 07 Javascript
Bootstrap的基本应用要点浅析
Dec 19 Javascript
Vue监听数组变化源码解析
Mar 09 Javascript
VUE页面中加载外部HTML的示例代码
Sep 20 Javascript
JavaScript模板引擎应用场景及实现原理详解
Dec 14 Javascript
微信小程序使用map组件实现解析经纬度功能示例
Jan 22 Javascript
微信小程序 select 下拉框组件功能
Sep 09 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
做个自己站内搜索引擎
2006/10/09 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
python搜索指定目录的方法
2015/04/29 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
类如何去实现接口
2013/12/19 面试题
应届大专毕业生个人自荐信
2013/09/22 职场文书
实习自我评价怎么写
2013/12/02 职场文书
客房主管岗位职责
2013/12/09 职场文书
大学毕业自我评价
2014/02/02 职场文书
教师节促销活动方案
2014/02/14 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
技术股份合作协议书
2014/10/05 职场文书
个人售房合同协议书
2016/03/21 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python
详解Python描述符的工作原理
2021/06/11 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android
Python实现批量自动整理文件
2022/03/16 Python
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python