Home  >  Article  >  Web Front-end  >  Prototype Number object learning_prototype

Prototype Number object learning_prototype

WBOY
WBOYOriginal
2016-05-16 18:49:531585browse
Copy code The code is as follows:

Object.extend(Number.prototype, (function() {

//Return the hexadecimal color A value
function succ() {
return this 1;
}

//Continuously perform an operation
function times(iterator, context) {
$R (0, this, true).each(iterator, context);
return this;
}

//Return a fixed-length string, padded with 0 in front
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
};
})());


Here are a few prototype extension methods.
times method:
Look at the example



Copy the code
The code is as follows: var s = ''; (5).times(function(n) { s = n; });
alert(s);
// -> '01234'

//Function prototype: times(iterator) -> Number, basically executing the iterator method N times continuously, and the first parameter passed to iterator is 0~N-1

/ *
Pay attention to the writing method when calling the method: 5 must be added in parentheses, otherwise writing 5.times directly will cause syntax errors. Because the dot after 5 will be parsed as a decimal point, and a decimal point followed by a string will have a syntax error.
You can also write it in another way: 5['times'](function(n) { s = n; });
In fact, the relationship between 5 and Number here is equivalent to int and Integer in C# Almost the same
*/




toJSON method:

The isFinite(number) in this method is a global method provided by JavaScript:

If number is not NaN, negative infinity or positive infinity, then the isFinite method will return true. In these three cases, the function returns false.

I won’t explain the rest of the method, it’s too simple, just show a few examples:

Copy code

The code is as follows:(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'



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn