JavaScript面向?qū)ο缶幊?/h1>
更新時(shí)間:2008年03月02日 14:53:04 作者:
暫時(shí)放棄js框架吧
開始寫javascript的時(shí)候都是自己寫,后來(lái)發(fā)現(xiàn)了prototype.js框架,發(fā)現(xiàn)很好用,就一直用的,他的對(duì)象創(chuàng)建方法被修改了,但很好用,再后來(lái)又轉(zhuǎn)用jquery框架,受此框架影響,也不用自己創(chuàng)建類了,漸漸的竟然忘記了如何自己定義類了,猛的給一個(gè)一般方法,竟然看著別扭,混淆了很多東西,忘記了很多東西。今天回頭整理下。
一下方法參考prototype.js
//類的定義
//方法一:類的一般定義方法
function player1(_name)
{
this.name = _name;
this.say = function() {alert(this.name);};
}
var p1 = new player1('llinzzi1');
p1.say();
//方法二:prototype定義方法
var player2 = function() {}
player2.prototype = {
name:'',
say:function(){
alert(this.name);
}
}
var p2 = new player2();
p2.name = 'llinzzi2';
p2.say();
//方法三:上面的方法結(jié)構(gòu)美觀,便捷,但構(gòu)建函數(shù)不能帶參數(shù),修改方法
var player3 = function() {
this.init.apply(this, arguments);
}
player3.prototype = {
init:function(_name){
this.name = _name;
},
say:function(){
alert(this.name);
}
}
var p3 = new player3('llinzzi3');
p3.say();
//類的繼承
//方法一
var player4 = function(){
this.init.apply(this, arguments);
}
player4.prototype = new player3;
player4.prototype.shout = function(){
alert(this.name.toUpperCase());
}
var p4 = new player4('llinzzi4');
p4.shout();
//方法二 上面的方法不能采用{}的方法,修改方法
Object.extend = function(destination, source) {
for (var property in source)
destination[property] = source[property];
return destination;
};
var player5 = function(){
this.init.apply(this, arguments);
}
Object.extend(Object.extend(player5.prototype,player3.prototype),{
shout:function(){
alert(this.name.toUpperCase());
}
});
var p5 = new player5('llinzzi5');
p5.shout();
//再?gòu)膒rototype.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/)
}
alert(Browser.MobileSafari);
您可能感興趣的文章:- JS面向?qū)ο?、prototype、call()、apply()
- 面向?qū)ο蟮腏avascript之二(接口實(shí)現(xiàn)介紹)
- JS面向?qū)ο缶幊讨畬?duì)象使用分析
- JS 面向?qū)ο笾衿娴膒rototype
- ExtJS4 組件化編程,動(dòng)態(tài)加載,面向?qū)ο?,Direct
- javascript面向?qū)ο笕腴T基礎(chǔ)詳細(xì)介紹
- JS面向?qū)ο蠡A(chǔ)講解(工廠模式、構(gòu)造函數(shù)模式、原型模式、混合模式、動(dòng)態(tài)原型模式)
- JS 拼圖游戲 面向?qū)ο?,注釋完整?/a>
- JAVASCRIPT THIS詳解 面向?qū)ο?/a>
- javascript 面向?qū)ο笕吕砭氈當(dāng)?shù)據(jù)的封裝
- JS面向?qū)ο缶幊虦\析
- 同一頁(yè)面多個(gè)商品倒計(jì)時(shí)JS 基于面向?qū)ο蟮膉avascript
- javascript 面向?qū)ο缶幊袒A(chǔ) 多態(tài)
- javascript 面向?qū)ο?實(shí)現(xiàn)namespace,class,繼承,重載
- 解析JavaScript面向?qū)ο蟾拍钪械腛bject類型與作用域
相關(guān)文章
-
Js模塊打包exports require import的用法和區(qū)別
這篇文章主要介紹了Js模塊打包exports require import的用法和區(qū)別,對(duì)模塊打包感興趣的同學(xué),可以參考下 2021-05-05
-
詳解關(guān)于微信setData回調(diào)函數(shù)中的坑
這篇文章主要介紹了詳解關(guān)于微信setData回調(diào)函數(shù)中的坑,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧 2019-02-02
-
js+csss實(shí)現(xiàn)的一個(gè)帶復(fù)選框的下拉框
用js+csss實(shí)現(xiàn)的一個(gè)帶復(fù)選框的下拉框,用到了很基礎(chǔ)的技術(shù),但是比較實(shí)用,喜歡的朋友可以參考下 2014-09-09
-
Javascript 網(wǎng)頁(yè)水印(非圖片水印)實(shí)現(xiàn)代碼
在一些B/S結(jié)構(gòu)的應(yīng)用系統(tǒng)中,有很多頁(yè)面是需要有水印的。常見的就是公文系統(tǒng)、合同系統(tǒng)等。 2010-03-03
-
javascript中的try catch異常捕獲機(jī)制用法分析
這篇文章主要介紹了javascript中的try catch異常捕獲機(jī)制,簡(jiǎn)單分析了try catch異常捕獲機(jī)制的基本定義與使用方法,需要的朋友可以參考下 2016-12-12
-
網(wǎng)站發(fā)布后Bootstrap框架引用woff字體無(wú)法正常顯示的解決方法
這篇文章主要介紹了網(wǎng)站發(fā)布到IIS后Bootstrap框架引用的woff字體無(wú)法正常顯示的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2016-11-11
-
uniapp?app?人臉識(shí)別的實(shí)現(xiàn)示例
本文主要介紹了uniapp?app?人臉識(shí)別的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2022-05-05
-
js實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效代碼分享
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效,提高了工作效率,推薦給大家,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2015-08-08
最新評(píng)論
//方法一:類的一般定義方法
function player1(_name)
{
this.name = _name;
this.say = function() {alert(this.name);};
}
var p1 = new player1('llinzzi1');
p1.say();
//方法二:prototype定義方法
var player2 = function() {}
player2.prototype = {
name:'',
say:function(){
alert(this.name);
}
}
var p2 = new player2();
p2.name = 'llinzzi2';
p2.say();
//方法三:上面的方法結(jié)構(gòu)美觀,便捷,但構(gòu)建函數(shù)不能帶參數(shù),修改方法
var player3 = function() {
this.init.apply(this, arguments);
}
player3.prototype = {
init:function(_name){
this.name = _name;
},
say:function(){
alert(this.name);
}
}
var p3 = new player3('llinzzi3');
p3.say();
//類的繼承
//方法一
var player4 = function(){
this.init.apply(this, arguments);
}
player4.prototype = new player3;
player4.prototype.shout = function(){
alert(this.name.toUpperCase());
}
var p4 = new player4('llinzzi4');
p4.shout();
//方法二 上面的方法不能采用{}的方法,修改方法
Object.extend = function(destination, source) {
for (var property in source)
destination[property] = source[property];
return destination;
};
var player5 = function(){
this.init.apply(this, arguments);
}
Object.extend(Object.extend(player5.prototype,player3.prototype),{
shout:function(){
alert(this.name.toUpperCase());
}
});
var p5 = new player5('llinzzi5');
p5.shout();
//再?gòu)膒rototype.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/)
}
alert(Browser.MobileSafari);
- JS面向?qū)ο?、prototype、call()、apply()
- 面向?qū)ο蟮腏avascript之二(接口實(shí)現(xiàn)介紹)
- JS面向?qū)ο缶幊讨畬?duì)象使用分析
- JS 面向?qū)ο笾衿娴膒rototype
- ExtJS4 組件化編程,動(dòng)態(tài)加載,面向?qū)ο?,Direct
- javascript面向?qū)ο笕腴T基礎(chǔ)詳細(xì)介紹
- JS面向?qū)ο蠡A(chǔ)講解(工廠模式、構(gòu)造函數(shù)模式、原型模式、混合模式、動(dòng)態(tài)原型模式)
- JS 拼圖游戲 面向?qū)ο?,注釋完整?/a>
- JAVASCRIPT THIS詳解 面向?qū)ο?/a>
- javascript 面向?qū)ο笕吕砭氈當(dāng)?shù)據(jù)的封裝
- JS面向?qū)ο缶幊虦\析
- 同一頁(yè)面多個(gè)商品倒計(jì)時(shí)JS 基于面向?qū)ο蟮膉avascript
- javascript 面向?qū)ο缶幊袒A(chǔ) 多態(tài)
- javascript 面向?qū)ο?實(shí)現(xiàn)namespace,class,繼承,重載
- 解析JavaScript面向?qū)ο蟾拍钪械腛bject類型與作用域
相關(guān)文章
Js模塊打包exports require import的用法和區(qū)別
這篇文章主要介紹了Js模塊打包exports require import的用法和區(qū)別,對(duì)模塊打包感興趣的同學(xué),可以參考下2021-05-05詳解關(guān)于微信setData回調(diào)函數(shù)中的坑
這篇文章主要介紹了詳解關(guān)于微信setData回調(diào)函數(shù)中的坑,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2019-02-02js+csss實(shí)現(xiàn)的一個(gè)帶復(fù)選框的下拉框
用js+csss實(shí)現(xiàn)的一個(gè)帶復(fù)選框的下拉框,用到了很基礎(chǔ)的技術(shù),但是比較實(shí)用,喜歡的朋友可以參考下2014-09-09Javascript 網(wǎng)頁(yè)水印(非圖片水印)實(shí)現(xiàn)代碼
在一些B/S結(jié)構(gòu)的應(yīng)用系統(tǒng)中,有很多頁(yè)面是需要有水印的。常見的就是公文系統(tǒng)、合同系統(tǒng)等。2010-03-03javascript中的try catch異常捕獲機(jī)制用法分析
這篇文章主要介紹了javascript中的try catch異常捕獲機(jī)制,簡(jiǎn)單分析了try catch異常捕獲機(jī)制的基本定義與使用方法,需要的朋友可以參考下2016-12-12網(wǎng)站發(fā)布后Bootstrap框架引用woff字體無(wú)法正常顯示的解決方法
這篇文章主要介紹了網(wǎng)站發(fā)布到IIS后Bootstrap框架引用的woff字體無(wú)法正常顯示的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11uniapp?app?人臉識(shí)別的實(shí)現(xiàn)示例
本文主要介紹了uniapp?app?人臉識(shí)別的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05js實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效代碼分享
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)點(diǎn)擊文本框顯示日期選擇器特效,提高了工作效率,推薦給大家,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-08-08