网络编程 
首页 > 网络编程 > 浏览文章

Prototype Number对象 学习

(编辑:jimmy 日期: 2025/5/13 浏览:3 次 )
复制代码 代码如下:
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'

上一篇:Prototype Enumerable对象 学习第1/2页
下一篇:Prototype ObjectRange对象学习
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap