예를 들어:
다음과 같은 코드가 있습니다.
코드 사본은 다음과 같습니다.
var array = [];
Array.push (1);
array.push (2);
array.push (3);
for (var i in array) {
console.log (i+":"+배열 [i]);
}
현재 출력은 무엇입니까? 물론 0 : 1 1 : 2 2 : 3입니다
그러나 array.prototype.say = "Hello"를 추가하면;
다시 실행할 때 무엇을 출력합니까?
코드 사본은 다음과 같습니다.
0 : 1 1 : 2 2 : 3 말 : 안녕하세요
현재로서는 프로토 타입의 특성을 출력합니다.
대부분의 경우, 우리는 프로토 타입의 속성을 가로 지르지 않아도됩니다. 또 다른 이유는 우리가 현재 사용하고있는 객체가 프로토 타입에 속성을 추가 할 속성을 가지고 있기 때문입니다. 따라서 현재 객체의 속성을 필터링하겠습니다.
코드 사본은 다음과 같습니다.
for (var i in array) {
if (array.hasownproperty (i)) {
console.log (i+":"+배열 [i]);
}
}
지금 출력이 무엇인지 생각해보십시오. 물론 그것은 0 : 1 1 : 2 2 : 3입니다.