ホームページ  >  記事  >  ウェブフロントエンド  >  プロトタイプのソースコードの簡単な分析 番号part_prototype

プロトタイプのソースコードの簡単な分析 番号part_prototype

WBOY
WBOYオリジナル
2016-05-16 17:57:081003ブラウズ

Number 部分には比較的少数のメソッドがあり、合計 8 つあります。

toColorPart: Number オブジェクトを 2 桁の 16 進形式に変換します。
succ: 現在の Number オブジェクトの次の値を返します。これは現在の値です。 Value + one
times: Ruby スタイルを使用して、標準 [0...n] ループをカプセル化します。
toPaddedString: 変換された文字列の長さが以下の場合、現在の Number オブジェクトを文字列に変換します。長さの指定された値。左側の残りの桁を埋めるには 0 を使用します。
abs: 現在の Number オブジェクトの絶対値を返します。
round: 現在の Number オブジェクトの四捨五入された整数値を返します。
ceil: 現在の Number オブジェクト以上の最小の整数値を返します。
floor: 現在の Number オブジェクト以下の最大の整数値を返します。

重要なメソッドの 1 つは toPaddedString です。 Number オブジェクトは toString メソッドをオーバーライドします:
NumberObject.toString(radix)

参数 描述
radix 可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。
コードをコピーします コードは次のとおりです。

function toPadedString(length,radix){
var string = this.toString(radix || 10);//最初に数値を対応する基数に変換します
return '0'.times(length - string.length) string;//times メソッドが展開されますString では、文字を n 回繰り返します
}

このメソッドでは、CSS での色変換に使用できる、より便利な拡張機能 toColorPart があります:
コードをコピー コードは次のとおりです。

function toColorPart() {
return this.toPaddedString(2, 16);
}

CSS の色変換なので数値は [0-255] の範囲でなければなりません。

console.log((10).toColorPart());//0a
String と同じ名前のメソッド succ があり、これは String に応じてインクリメントされます。文字テーブルへの数値は自然数の順序に基づいています。
コードをコピー コードは次のとおりです。

function succ() {
return this 1;
}

console.log((10).succ());//11
このメソッドから始めて、単純な 0-n 配列を作成しましょう
コードをコピーします コードは次のとおりです:

function range(){
var ret = [0];
for(var i = 0; i < this - 1; i ){
ret.push(i.succ());
return
}

console.log((10).range());//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
この範囲関数を一時的に使用します。 時間関数を取得するには:

コードをコピー コードは次のとおりです:
function time(iterator, context) {
this.range().forEach(iterator, context) //R() メソッドはソース コードで使用されます
return this;
; 🎜>


コードをコピーします コードは次のとおりです:
var s = ' ';
(5).times(function(item ){
s = item;
});
console.log(s);//01234


上記の方法を除いて、もう 1 つの方法は Math を使用することです。 静的メソッドは Number オブジェクトに拡張されます [この記述は正確ではありませんが、理解しています...=。 =]


function abs() {
return Math.abs(this);
関数round() {
return Math.round(this);
関数ceil() {
return Math. ceil(this );
}
function Floor() {
return Math.floor(this);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。