>웹 프론트엔드 >JS 튜토리얼 >프로토타입 번호 객체 학습_prototype

프로토타입 번호 객체 학습_prototype

WBOY
WBOY원래의
2016-05-16 18:49:531605검색
코드 복사 코드는 다음과 같습니다.

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

//16진수 색상 A 값 반환
function succ() {
return this 1
}

//계속 연산 수행
function times(iterator, context) {
$R (0, this, true).each(iterator, context);
return this
}

//고정 길이 반환; 문자열, 앞에 0이 추가됨
function toPendedString(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,
toPendedString: toPendedString,
toJSON: toJSON,
abs: abs,
round: round ,
ceil: ceil,
floor: Floor
};
})());


다음은 몇 가지 프로토타입 확장 방법입니다.
times 방식:
예제 보기



코드 복사


코드는 다음과 같습니다.
//함수 프로토타입: times(iterator) -> Number, 기본적으로 반복자 메서드를 N번 연속 실행하며, 반복자에 전달되는 첫 번째 매개변수는 0~N-1

/ *
메소드 호출 시 작성 방법에 주의하세요. 괄호 안에 5를 추가해야 하며, 그렇지 않으면 5.time을 직접 작성하면 구문 오류가 발생합니다. 5 이후의 점은 소수점으로 해석되고, 소수점 뒤에 문자열이 오면 구문 오류가 발생하기 때문입니다.
다른 방법으로 쓸 수도 있습니다: 5['times'](function(n) { s = n; })
사실 여기서 5와 Number의 관계는 int와 Integer와 동일합니다. C#에서는 거의 동일
*/




toJSON 메서드:



이 메소드의 isFinite(number)는 JavaScript에서 제공하는 전역 메소드입니다.

number가 NaN, 음의 무한대 또는 양의 무한대가 아닌 경우 isFinite 메소드는 true를 반환합니다. 이 세 가지 경우에 함수는 false를 반환합니다.

나머지 방법은 설명하지 않겠습니다. 너무 간단합니다. 몇 가지 예만 보여드리겠습니다.

코드 복사


코드는 다음과 같습니다.

(128).toColorPart()
// -> '80'
(10).toColorPart()
// -> '0a'

(13).toPendedString(4) // -> '0013'
(13).toPendedString(2); '13'
(13).toPendedString(1); // -> '13'
(13).toPendedString(4, 16) // -> .toPendedString (4, 2); // ->



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