1.var myObject = {};
2.function myObject()
{
....
}
3.var myObject = function(){}
후자의 두 가지 방법의 경우 매개변수가 있는 생성자와 유사한 매개변수를 추가할 수도 있습니다.
예:
function myObject(msg)
{
alert(msg)
}
var newObject = new myObject('Hello, World!') ;
var myObject = function(msg)
{
alert(msg '다시') ; 🎜>}
var newTwoObject = new myObject('Hello, World!);
문자열을 사용하여 함수를 선언할 수도 있는데, 이는 프로그램을 더욱 유연하게 만듭니다.
예:
var myObject = new Function("msg","alert(msg)") ;
// 함수는 여러 개의 입력 매개변수를 가질 수 있으며 마지막 매개변수는 메소드 본문으로 사용됩니다.
var newObject = new myObject('Hell, World!);
JavaScript의 멤버 선언
JavaScript에서는 객체의 멤버를 선언하는 것이 매우 간단하지만 다른 고급 프로그램과 달리 여전히 약간 다릅니다
예:
var myObject = {
"FirstName" : "thtwin",
"LastName" : "thtwinj2ee",
"Age" : 22,
"showFullName" : function()
{
alert(this.FirstName ' ' this.LastName)
}
} ;
myObject.showFullName()
JavaScript의 또 다른 객체 지향 기능은 고급 프로그래밍 언어처럼 . 및 [] 참조 멤버를 사용할 수 있다는 것입니다.
예:
var dateTime = {
now : new Date( ),
show : function(){
alert(new Date()) ;
}
} ;
alert(dateTime.now)
경고(dateTime.now) ;
dataTime.show() ;
은 다음과 동일합니다.
dateTime["show()"] ; 모든 개체의 기본 클래스인 JavaScript는 Object입니다. 기본 클래스는 toString, toLocaleString 등과 같은 프로토타입을 통해 많은 멤버
와 메서드를 정의합니다.
예:
var obj = {"toString" : function(){return "이것은 테스트입니다!" ;
alert(obj) ;
실제로는 JavaScript가 실행될 때 toString() 메서드가 호출됩니다. 객체를 문자
로 변환해야 하는 경우 객체의 toString() 메서드가 암시적으로 호출됩니다.
예:
Date.prototype.toString = function(){alert('이것은 테스트입니다. ! ') ;} ;
var da = new Date(new Date()) ;
Date.prototype.toString = function(){alert('테스트입니다!') ;} ;
var dt = new Date() 1;
JavaScript의 call 메소드 사용:
call 설명:
call 메소드는 다른 객체 대신 메소드를 호출하는 데 사용할 수 있습니다.
call 메소드는 함수의 객체 컨텍스트를 초기 컨텍스트에서 thisObj가 지정한 새 객체로 변경합니다.
예:
function abc()
{
alert(this.member1);
}
var obj = { member1:"Hello world!", show : abc};
var obj2 = { member1:"Hello world again!", show:abc}
obj.show()
//
abc를 사용할 수도 있습니다. .call(obj);
abc.call(obj2);
또 다른 수정 버전:
member1 = 'test'
function abc()
{
경고 (this.member1);
var obj = { member1:"Hello world", show:abc};
var obj2 = { member1:"Hello world again", show:abc}; 🎜>
obj.show();
//
abc.call(obj)
abc.call(obj2);
abc(); // 이때 this in abc는 현재 컨텍스트를 가리킵니다.
각 함수에는 호출 메서드가 있습니다. 위 과정에서
라는 표시 메서드를 호출하는 대신 다른 객체가 사용되는 것을 볼 수 있습니다. 개체 컨텍스트가 변경되었습니다.