>웹 프론트엔드 >JS 튜토리얼 >프로토타입 소스 코드 번호에 대한 간략한 분석 part_prototype

프로토타입 소스 코드 번호에 대한 간략한 분석 part_prototype

WBOY
WBOY원래의
2016-05-16 17:57:081018검색

Number 부분에는 비교적 적은 수의 메소드가 있으며 총 8개입니다.

toColorPart: Number 객체를 두 자리의 16진수 형식으로 변환합니다.
succ: 현재 Number 객체의 다음 값을 반환합니다. 이는 현재 값입니다. Value plus one
times: Ruby 스타일을 사용하여 표준 [0...n] 루프를 캡슐화합니다
toPendedString: 변환된 문자열 길이가 다음보다 작은 경우 현재 Number 객체를 문자열로 변환합니다. 길이가 지정된 값인 경우 0을 사용하여 왼쪽의 나머지 숫자를 채웁니다.
abs: 현재 Number 객체의 절대값을 반환합니다.
round: 현재 Number 객체의 반올림된 정수 값을 반환합니다.
ceil: 현재 Number 객체보다 크거나 같은 가장 작은 정수 값을 반환합니다.
floor: 현재 Number 객체보다 작거나 같은 가장 큰 정수 값을 반환합니다.

중요한 메소드 중 하나는 toPendedString입니다. Number 객체는 toString 메소드를 재정의합니다:
NumberObject.toString(radix)

参数 描述
radix 可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。
코드 복사 코드는 다음과 같습니다.

function toPendedString(length,radix){
var string = this.toString(radix || 10);//먼저 숫자를 해당 진수로 변환
return '0'.times(length - string.length) string;//times 메소드가 확장됩니다. String 에서 문자를 n번 반복하세요
}

이 방법을 사용하면 CSS에서 색상 변환에 사용할 수 있는 toColorPart라는 더 유용한 확장이 있습니다.
코드 복사 코드는 다음과 같습니다.

function toColorPart() {
return this.toPaddString(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 ret; >}

console.log((10).range());//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
이 범위 함수를 일시적으로 사용하십시오. 시간 함수를 얻으려면:

코드 복사 코드는 다음과 같습니다:
function times(iterator, context) {
this.range().forEach(iterator, context); //R() 메서드는 소스 코드에서 사용됩니다.
return this; 🎜>



코드 복사 코드는 다음과 같습니다. var s = ' ';
(5).times(function(item ){
s = item;
})
console.log(s);//01234


위 방법 외에 다른 방법은 Math를 사용하는 것입니다. 정적 메서드는 Number 객체로 확장됩니다. [설명이 정확하지 않습니다. 이해합니다...=. =]


코드 복사 코드는 다음과 같습니다. function abs() {
return Math .abs(this);
}
function round() {
return Math.round(this)
}
function ceil() {
return Math. ceil(this );
}
function Floor() {
return Math.floor(this)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.