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 相关文章推荐
新鲜出炉的js tips提示效果
Apr 03 Javascript
iframe的父子窗口之间的对象相互调用基本用法
Sep 03 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
May 11 Javascript
采用call方式实现js继承
May 20 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
Jun 06 Javascript
jquery 实现input输入什么div图层显示什么
Jun 15 Javascript
JQuery中两个ul标签的li互相移动实现方法
May 18 Javascript
基于javascript实现tab切换特效
Mar 29 Javascript
AngularJs解决跨域问题案例详解(简单方法)
May 19 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
js 开发之autocomplete="off"在chrom中失效的解决办法
Sep 28 Javascript
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
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的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
destoon复制新模块的方法
2014/06/21 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
2017/10/23 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
Swiper实现导航栏滚动效果
2020/10/16 Javascript
Python编写一个闹钟功能
2017/07/11 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
html5的canvas方法使用指南
2014/12/15 HTML / CSS
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
存储过程的优点有哪些
2012/09/27 面试题
幼儿园大班教学反思
2014/02/10 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS