JavaScript面向?qū)ο缶幊?/h1>
更新時(shí)間:2008年03月02日 14:53:04 作者:
暫時(shí)放棄js框架吧
開始寫javascript的時(shí)候都是自己寫,后來發(fā)現(xiàn)了prototype.js框架,發(fā)現(xiàn)很好用,就一直用的,他的對(duì)象創(chuàng)建方法被修改了,但很好用,再后來又轉(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ū)ο螅珼irect
- 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)文章
-
echarts實(shí)現(xiàn)3d柱狀圖的2種方式舉例
echarts3D效果柱狀圖的實(shí)現(xiàn),這個(gè)太難了,我花了兩天終于調(diào)成我想要的效果啦,要是官網(wǎng)上有例子就好了,太難調(diào)了,下面這篇文章主要給大家介紹了關(guān)于echarts實(shí)現(xiàn)3d柱狀圖的2種方式,需要的朋友可以參考下 2023-02-02
-
詳解webpack+express多頁(yè)站點(diǎn)開發(fā)
這篇文章主要介紹了詳解webpack+express多頁(yè)站點(diǎn)開發(fā) 2017-12-12
-
JavaScript中isPrototypeOf函數(shù)作用和使用實(shí)例
這篇文章主要介紹了JavaScript中isPrototypeOf函數(shù)作用和使用實(shí)例,本文講解了它的作用和使用方法以及使用實(shí)例,需要的朋友可以參考下 2015-06-06
-
javascript實(shí)現(xiàn)簡(jiǎn)單的省市區(qū)三級(jí)聯(lián)動(dòng)
本文給大家反映的是javascript實(shí)現(xiàn)的簡(jiǎn)單的省市區(qū)三級(jí)聯(lián)動(dòng)特效,不需要訪問后臺(tái)服務(wù)器端,不使用Ajax,無刷新,純JS實(shí)現(xiàn)的省市區(qū)三級(jí)聯(lián)動(dòng)。當(dāng)省市區(qū)數(shù)據(jù)變動(dòng)是只需調(diào)正js即可。 2015-05-05
-
layui時(shí)間控件選擇時(shí)間范圍的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layui時(shí)間控件選擇時(shí)間范圍的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧 2019-09-09
-
BootstrapTable+KnockoutJS自定義T4模板快速生成增刪改查頁(yè)面
這篇文章主要介紹了BootstrapTable+KnockoutJS自定義T4模板快速生成增刪改查頁(yè)面 的相關(guān)資料,需要的朋友可以參考下 2016-08-08
-
Javascript中數(shù)組sort和reverse用法分析
這篇文章主要介紹了Javascript中數(shù)組sort和reverse用法,實(shí)例分析了sort和reverse使用時(shí)的注意事項(xiàng)與相關(guān)技巧,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下 2014-12-12
-
微信小程序?qū)崿F(xiàn)之手勢(shì)鎖功能實(shí)例代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)之手勢(shì)鎖功能的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下 2018-07-07
最新評(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ū)ο螅珼irect
- 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)文章
echarts實(shí)現(xiàn)3d柱狀圖的2種方式舉例
echarts3D效果柱狀圖的實(shí)現(xiàn),這個(gè)太難了,我花了兩天終于調(diào)成我想要的效果啦,要是官網(wǎng)上有例子就好了,太難調(diào)了,下面這篇文章主要給大家介紹了關(guān)于echarts實(shí)現(xiàn)3d柱狀圖的2種方式,需要的朋友可以參考下2023-02-02
詳解webpack+express多頁(yè)站點(diǎn)開發(fā)
這篇文章主要介紹了詳解webpack+express多頁(yè)站點(diǎn)開發(fā)2017-12-12
JavaScript中isPrototypeOf函數(shù)作用和使用實(shí)例
這篇文章主要介紹了JavaScript中isPrototypeOf函數(shù)作用和使用實(shí)例,本文講解了它的作用和使用方法以及使用實(shí)例,需要的朋友可以參考下2015-06-06
javascript實(shí)現(xiàn)簡(jiǎn)單的省市區(qū)三級(jí)聯(lián)動(dòng)
本文給大家反映的是javascript實(shí)現(xiàn)的簡(jiǎn)單的省市區(qū)三級(jí)聯(lián)動(dòng)特效,不需要訪問后臺(tái)服務(wù)器端,不使用Ajax,無刷新,純JS實(shí)現(xiàn)的省市區(qū)三級(jí)聯(lián)動(dòng)。當(dāng)省市區(qū)數(shù)據(jù)變動(dòng)是只需調(diào)正js即可。2015-05-05
layui時(shí)間控件選擇時(shí)間范圍的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layui時(shí)間控件選擇時(shí)間范圍的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
BootstrapTable+KnockoutJS自定義T4模板快速生成增刪改查頁(yè)面
這篇文章主要介紹了BootstrapTable+KnockoutJS自定義T4模板快速生成增刪改查頁(yè)面 的相關(guān)資料,需要的朋友可以參考下2016-08-08
Javascript中數(shù)組sort和reverse用法分析
這篇文章主要介紹了Javascript中數(shù)組sort和reverse用法,實(shí)例分析了sort和reverse使用時(shí)的注意事項(xiàng)與相關(guān)技巧,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
微信小程序?qū)崿F(xiàn)之手勢(shì)鎖功能實(shí)例代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)之手勢(shì)鎖功能的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07

