Javascript를 배우면서 프로토 타입 소스 코드를 읽었습니다. 네이티브 객체를 확장하는 데 사용되는 코드가 어디에 있는지 궁금합니다.Prototype은 어떻게 객체를 확장합니까?
내가 보게되었습니다,
사방에Object.extend(Function.prototype, (function() {
Object.extend(String.prototype, (function() {
Object.extend(Number.prototype, (function() {
과 .extend 기능이 어디에서 오는 내가 찾을 수 없습니다.
나는 본 적이 : 라인 194-198과 경이에
function extend(destination, source) {
for (var property in source)
destination[property] = source[property];
return destination;
}
이가 하나 인 경우. 나는 그것이 무엇인지 알 수 없다.
어쨌든, 내 질문은 위에서 언급했듯이 프로토 타입이 네이티브 객체를 확장하는 방법입니다. 여기에 소스 코드를 보면
나는 여기서 당신이 의미하는 것을 얻을 것이라고 생각한다 : keys : Object.keys. 그래서 Object.keys는 실제로 Object 속성입니다. 다른 '|| 열쇠는 여기 있니? –
@Thorpe - 이미 Object.keys (네이티브 브라우저 버전)를 가지고 있다면, 그 파일에 정의 된'keys' 함수를 사용하십시오 : https://github.com/sstephenson /prototype/blob/master/src/prototype/lang/object.js#L308-317 –
나는 그렇게 생각했다. 나는 당신의 대답이 사물을 설명 할 때 가장 좋다고 믿는다. +1 –