面向?qū)ο蟮膉avascript(筆記)
更新時(shí)間:2009年10月06日 00:13:26 作者:
面向?qū)ο蟮膉avascript之學(xué)習(xí)筆記,需要學(xué)習(xí)的朋友可以參考下,腳本之家之前更新了不少這方便的文章。
一、引用
//產(chǎn)生一個(gè)數(shù)組對(duì)象
var items = new Array('1','2','3');
//使一個(gè)引用指向該對(duì)象
var itemRef = items;
items.push('4');
//items 與 itemRef指向同一對(duì)象
alert(items.length === itemRef.length);
// 修改對(duì)象會(huì)產(chǎn)生一個(gè)新對(duì)象
var item = 'test';
var itemRef = item;
item+='ing';
//此時(shí)item和itemRef不再指向同一個(gè)對(duì)象
alert(item != itemRef);
二、判斷傳入?yún)?shù)的數(shù)量及類(lèi)型
//arguments 能用了判斷函數(shù)參數(shù)的個(gè)數(shù)
function sendMessage(msg,obj){
if(arguments.length ==2)
obj.handleMsg(msg);
else
alert(msg);
}
判斷類(lèi)型可以使用typeof和javascript對(duì)象的constructor屬性
//typeof能用一個(gè)字符串表達(dá)變量的類(lèi)型名
//判斷一個(gè)變量num是否是string 類(lèi)型
if(typeof num == 'string')
//但是typeof對(duì)都是object array類(lèi)型不能區(qū)分
//利用constructor 判讀num是否是String類(lèi)型
if(num.constructor == String)
if(num.constructor == Array)
//該函數(shù)判斷一個(gè)函數(shù)的變量的長(zhǎng)度和變量類(lèi)型
function strict(types,args){
if(types.length != args.length){
throw "參數(shù)個(gè)數(shù)無(wú)效";
}
for(var i=0; i<args.length; i++){
if(args[i].constructor != types[i]){
throw '參數(shù)類(lèi)型不匹配'
}
}
}
復(fù)制代碼 代碼如下:
//產(chǎn)生一個(gè)數(shù)組對(duì)象
var items = new Array('1','2','3');
//使一個(gè)引用指向該對(duì)象
var itemRef = items;
items.push('4');
//items 與 itemRef指向同一對(duì)象
alert(items.length === itemRef.length);
// 修改對(duì)象會(huì)產(chǎn)生一個(gè)新對(duì)象
var item = 'test';
var itemRef = item;
item+='ing';
//此時(shí)item和itemRef不再指向同一個(gè)對(duì)象
alert(item != itemRef);
二、判斷傳入?yún)?shù)的數(shù)量及類(lèi)型
復(fù)制代碼 代碼如下:
//arguments 能用了判斷函數(shù)參數(shù)的個(gè)數(shù)
function sendMessage(msg,obj){
if(arguments.length ==2)
obj.handleMsg(msg);
else
alert(msg);
}
判斷類(lèi)型可以使用typeof和javascript對(duì)象的constructor屬性
復(fù)制代碼 代碼如下:
//typeof能用一個(gè)字符串表達(dá)變量的類(lèi)型名
//判斷一個(gè)變量num是否是string 類(lèi)型
if(typeof num == 'string')
//但是typeof對(duì)都是object array類(lèi)型不能區(qū)分
//利用constructor 判讀num是否是String類(lèi)型
if(num.constructor == String)
if(num.constructor == Array)
//該函數(shù)判斷一個(gè)函數(shù)的變量的長(zhǎng)度和變量類(lèi)型
function strict(types,args){
if(types.length != args.length){
throw "參數(shù)個(gè)數(shù)無(wú)效";
}
for(var i=0; i<args.length; i++){
if(args[i].constructor != types[i]){
throw '參數(shù)類(lèi)型不匹配'
}
}
}
相關(guān)文章
JavaScript面向?qū)ο笤O(shè)計(jì)二 構(gòu)造函數(shù)模式
在Javascript面向?qū)ο笤O(shè)計(jì)一——工廠模式 中介紹了使用CreateEmployee()函數(shù)創(chuàng)建員工類(lèi)。ECMAScript中的構(gòu)造函數(shù)可以用來(lái)創(chuàng)建特定類(lèi)型的對(duì)象,如Object和Array這樣的原生構(gòu)造函數(shù),在運(yùn)行時(shí)會(huì)自動(dòng)出現(xiàn)在執(zhí)行環(huán)境中,此外也可以創(chuàng)建自定義的構(gòu)造函數(shù),從而創(chuàng)建自定義對(duì)象類(lèi)型的屬性和方法2011-12-12
javascript 對(duì)象入門(mén)實(shí)例教程
學(xué)習(xí)javascript 對(duì)象操作的朋友可以參考下,這個(gè)是入門(mén)級(jí)教程。2010-04-04
JavaScript 面向?qū)ο笕腴T(mén)精簡(jiǎn)篇
圍繞面向?qū)ο蟮膸状箨P(guān)鍵字:封裝 ,繼承 ,多態(tài) ,展開(kāi)JavaScript面向?qū)ο?/div> 2009-03-03
JavaScript 繼承機(jī)制的實(shí)現(xiàn)(待續(xù))
JavaScript繼承機(jī)制的實(shí)現(xiàn),后期會(huì)有一些補(bǔ)充。2010-05-05
前端開(kāi)發(fā)的開(kāi)始---基于面向?qū)ο蟮腁jax類(lèi)
因?yàn)槲一旧蟖jax開(kāi)發(fā)都是用jquery來(lái)完成,后來(lái)想了想,也是應(yīng)該寫(xiě)一個(gè)。這樣才能提高自己的整體水平。2010-09-09
JavaScript 面向?qū)ο蟮?私有成員和公開(kāi)成員
這節(jié)來(lái)說(shuō)下JavaScript的私有成員和公開(kāi)成員,雖然JavaScript沒(méi)有private和public關(guān)鍵字,但還是那句話——作為開(kāi)發(fā)人員我們要有面向?qū)ο蟮乃枷耄?2010-05-05最新評(píng)論

