//クラスの定義
//方法 1: クラスの一般的な定義方法
function player1(_name)
{
this.name = _name
this.say = function; () {alert(this.name);};
}
var p1 = new player1('llinzzi1')
//方法 2: プロトタイプ定義メソッド
var player2 = function() {}
player2.prototype = {
name:'',
say:function(){
alert( this.name);
}
}
var p2 = new player2()
p2.name = 'llinzzi2';
}
プレイヤー3.prototype = {
init:function(_name){
this.name = _name;
Say:function(){
アラート( this.name);
}
}
var p3 = new player3('llinzzi3');
// のクラス継承
//メソッド 1
var player4 = function(){
this.init.apply(this, argument);
player4.prototype = new player3; > player4.prototype.shout = function(){
alert(this.name.toUpperCase());
var p4 = new player4('llinzzi4'); .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');
//prototype.js からコピーブラウザ判定コード
Browser = {
IE: !!(window.attachEvent && !window.opera),
Opera: !!window.opera,
WebKit: navigator .userAgent .indexOf('AppleWebKit/') > -1,
Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
MobileSafari : !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
}
アラート(Browser.MobileSafari);