2014-03-04 1 views
0

다음을 고려하십시오.자바 스크립트 객체 생성 및 프로토 타입 이해

다음과 같은 코드가 있습니까?

var foo = Class.create(); 
foo.prototype = { 
    initialize : function() {}; 
    sayHello : function() {}; 
} 

와 둘째

var foo = Class.create(); 
    foo.prototype = { 
     initialize : function() {}; 
    } 
    foo.prototype.sayHello : function() {}; 

는, 어느 하나가 다른 다른 선호 하는가? when and why?

+0

둘 다 잘못되었습니다. – Sam

+0

괜찮 았어? – JavaDeveloper

+0

아마도 다음과 같은 답이 프로토 타입이 무엇인지, 그리고 생성자 함수 나 이니셜 라이저가 무엇인지 이해하는 데 도움이 될 수 있습니다 .http : //stackoverflow.com/a/16063711/1641941 – HMR

답변

1

그들은 둘 다 틀렸어, 그들은

var foo = new Object(); 
foo.prototype = { 
    initialize : function() {}, 
    sayHello : function() {} 
} 

var foo = new Object(); 
foo.prototype = { 
    initialize : function() {} 
} 
foo.prototype.sayHello = function() {}; 

해야하며, 예 그들은 더 명확하기 때문에 초기화를위한 첫 번째 방법을 선호하는 같은

이야

+0

class.create()에 문제가 있습니까? – JavaDeveloper

+0

@JavaDeveloper 클래스는 자바 스크립트 객체가 아닙니다. 어쩌면 모든 프레임 워크에서 가져온 것일 수도 있습니다. – Sam

+0

var Person = Class.create(); Person.prototype = { 초기화 : 함수 (이름) { this.name = 이름; }, 말 : function (message) { this this.name + ':'+ message; } }; – JavaDeveloper

관련 문제