//클래스 정의
//방법 1: 클래스
의 일반적인 정의 방법 function player1(_name)
{
this.name =
this.say = function () {alert(this.name);};
var p1 = new player1('llinzzi1')
p1.say(); > //방법 2: 프로토타입 정의 방법
var player2 = function() {}
player2.prototype = {
name:'',
say:function(){
Alert( this.name);
var p2 = new player2()
p2.name = 'llinzzi2'
p2.say();
}
플레이어; 3.prototype = {
init:function(_name){
this.name = _name
say:function(){
경고( this.name);
}
}
var p3 = new player3('llinzzi3');
p3.say()
//클래스 상속
//방법 1
var player4 = function(){
this.init.apply(this, 인수)
}
player4.prototype = new player3; > player4.prototype.shout = function(){
Alert(this.name.toUpperCase())
}
var p4 = new player4('llinzzi4')
p4 .shout();
//방법 2 위 메서드는 {} 메서드를 사용할 수 없습니다. 메서드를 수정하세요.
Object.extend = function(destination, source) {
for ( var 속성(소스)
목적지[속성];
반환 대상;
var player5 = function(){
this.init. (this, 인수);
}
Object.extend(Object.extend(player5.prototype,player3.prototype),{
shout:function(){
alert(this.name.toUpperCase ());
}
});
var p5 = new player5('llinzzi5');
p5.shout()
//prototype.js에서 복사 브라우저 판단 코드
Browser = {
IE: !!(window.attachEvent && !window.opera),
Opera: !!window.opera,
WebKit: navigator .userAgent .indexOf('AppleWebKit/') > -1,
게코: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
MobileSafari : !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
}
Alert(Browser.MobileSafari)