>웹 프론트엔드 >JS 튜토리얼 >JavaScript 생성 객체 및 구성 클래스 구현 code_js 객체 지향

JavaScript 생성 객체 및 구성 클래스 구현 code_js 객체 지향

WBOY
WBOY원래의
2016-05-16 18:48:43987검색

객체 생성
Java 코드

코드 복사 코드는 다음과 같습니다.

< ;script type ="text/javaScript">
var newObject=new Object()
//객체 생성
newObject.firstName="frank"
//firstName 속성 추가
newObject.sayName=function(){
alert(this.firstName);
}
//sayName 메서드 추가
//sayName 메서드 호출
// newObject. sayName();// newObject["sayName"]();
var FirstName=newObject["firstName"]
var whatFunction
// if(whatVolume==1)
/ / whatFunction="sayName"
// }else if(whatVolume==2){
// whatFunction="sayLoudly"
// }
// newObject[whatFunction ]();
function sayLoudly(){
alert(this.firstName.toUpperCase());
}
newObject.sayLoudly=sayLoudly;//메서드를 추가하는 또 다른 방법
newObject ["sayLoudly"]();



json(javaScript Object Notation)을 사용하여 객체를 생성하면 위와 동일한 효과가 나타납니다.
Java 코드


함수 sayLoudly() {
alert(this.firstName.toUpperCase());
}
var newObject={
firstName:"frank",
sayName:function(){alert(this.firstName) ;},
sayLoudly:sayLoudly
};
//이 작업도 수행할 수 있습니다.
var newObject={
firstName: "frank",
sayName:function(){alert (this.firstName) ;},
sayLoudly:sayLoudly,
lastName:{
lastName:"ziggy",
sayName:function(){alert(this.lastName);}
}
} ;
newObject.lastName.sayName();


괜찮습니다
Java 코드


function sayLoudly(){
alert(this.name.toUpperCase())
}
function sayName(){
alert(this.name);
}
var newObject={
name:"frank",
sayName:sayName,
sayLoudly:sayLoudly,
lastName:{
name:"ziggy",
sayName:sayName
}
}
newObject.lastName.sayName()


JavaScript의 클래스와 생성자 메서드. . .
Java 코드


function newClass() {
alert("constructor");
this.firstName="frank";
this.sayName=function(){alert(this.firstName);}
// return this; 🎜>}
//var nc=newClass();
var nc=new newClass()
//nc.firstName="ziggy"; 괜찮습니다
nc.sayName();


이와 같은 클래스를 구성할 수도 있습니다
Java 코드



코드 복사 코드 다음과 같습니다: function newClass(){
this.firstName="frank";
}
newClass.prototype.sayName=function(){
alert (this.firstName);
}
var nc=new newClass();
nc.firstName="ziggy";
nc.sayName(); );
nc2.sayName ();


보통 프로토타입을 사용하여 메서드를 추가하므로 인스턴스가 아무리 많아도 메모리에는 하나의 sayName 메서드만 있습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.