다음 스크립트가 있습니다.
var Person = function (name) {
this.name = name;
};
var person = new Person('James');
console.log(person.name);
var anotherPerson = new Person('Kate');
console.log(anotherPerson.name);
console.log(Person.prototype);
Chrome의 콘솔에 다음이 표시됩니다.
James
Kate
Person {}
Mozilla의 콘솔은
James
Kate
Object {}
마지막 변형이 맞다고 생각합니다. 그렇다면 Chrome이 왜 이것을 표시하는지에 대한 질문은 무엇입니까? 다른 브라우저가 ____proto____ 속성을 다르게 구현한다는 것을 읽었지만이 경우 어떤 문제가 있습니까?
감사합니다.
console.log()
표준이 아닙니다. 각 브라우저에는 표시하려는 내용에 대한 자체 구현이 있습니다. 귀하의 경우 Chrome은 객체의 일반 Javascript 유형보다 더 많은 정보를 표시 할 수 있으며 Firefox는 추가 작업을 수행하지 않았 음을 알리기 위해 추가 단계를 수행했습니다.
둘 중 한 사람이하는 일을하는 합리적인 이유를 찾고 있다면 하나를 찾을 수 있을지 의심 스럽습니다. 구현의 차이 일뿐입니다. 둘 다 틀리지 않습니다. 하나는 좀 더 많은 정보를 보여 주려는 것입니다. 두 가지 구현은 다른 선택을했습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다