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中Array 对象相关的几个方法
Dec 22 Javascript
JavaScript中的substr()方法使用详解
Jun 06 Javascript
整理Javascript函数学习笔记
Dec 01 Javascript
jQuery hover事件简单实现同时绑定2个方法
Jun 07 Javascript
使用plupload自定义参数实现多文件上传
Jul 19 Javascript
AngularJS基础 ng-model-options 指令简单示例
Aug 02 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
JavaScript中最常见的三个面试题解析
Mar 04 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
Aug 16 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
Sep 12 Javascript
vue.extend与vue.component的区别和联系
Sep 19 Javascript
详解element上传组件before-remove钩子问题解决
Apr 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
php不用正则采集速度探究总结
2008/03/24 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
Node.js事件驱动
2015/06/18 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
Python 12306抢火车票脚本
2018/02/07 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
2020/04/14 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
Solaris操作系统的线程机制
2015/07/28 面试题
物理教育专业求职信
2014/06/25 职场文书
幼儿教师自我剖析材料
2014/09/29 职场文书
师德师风剖析材料
2014/09/30 职场文书
实习证明格式范文
2014/10/14 职场文书
2014年实验室工作总结
2014/12/03 职场文书
2015初中生物教研组工作总结
2015/07/21 职场文书
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL