面向?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ù)量及類型
//arguments 能用了判斷函數(shù)參數(shù)的個(gè)數(shù)
function sendMessage(msg,obj){
if(arguments.length ==2)
obj.handleMsg(msg);
else
alert(msg);
}
判斷類型可以使用typeof和javascript對(duì)象的constructor屬性
//typeof能用一個(gè)字符串表達(dá)變量的類型名
//判斷一個(gè)變量num是否是string 類型
if(typeof num == 'string')
//但是typeof對(duì)都是object array類型不能區(qū)分
//利用constructor 判讀num是否是String類型
if(num.constructor == String)
if(num.constructor == Array)
//該函數(shù)判斷一個(gè)函數(shù)的變量的長度和變量類型
function strict(types,args){
if(types.length != args.length){
throw "參數(shù)個(gè)數(shù)無效";
}
for(var i=0; i<args.length; i++){
if(args[i].constructor != types[i]){
throw '參數(shù)類型不匹配'
}
}
}
復(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ù)量及類型
復(fù)制代碼 代碼如下:
//arguments 能用了判斷函數(shù)參數(shù)的個(gè)數(shù)
function sendMessage(msg,obj){
if(arguments.length ==2)
obj.handleMsg(msg);
else
alert(msg);
}
判斷類型可以使用typeof和javascript對(duì)象的constructor屬性
復(fù)制代碼 代碼如下:
//typeof能用一個(gè)字符串表達(dá)變量的類型名
//判斷一個(gè)變量num是否是string 類型
if(typeof num == 'string')
//但是typeof對(duì)都是object array類型不能區(qū)分
//利用constructor 判讀num是否是String類型
if(num.constructor == String)
if(num.constructor == Array)
//該函數(shù)判斷一個(gè)函數(shù)的變量的長度和變量類型
function strict(types,args){
if(types.length != args.length){
throw "參數(shù)個(gè)數(shù)無效";
}
for(var i=0; i<args.length; i++){
if(args[i].constructor != types[i]){
throw '參數(shù)類型不匹配'
}
}
}
相關(guān)文章
JavaScript面向?qū)ο笤O(shè)計(jì)二 構(gòu)造函數(shù)模式
在Javascript面向?qū)ο笤O(shè)計(jì)一——工廠模式 中介紹了使用CreateEmployee()函數(shù)創(chuàng)建員工類。ECMAScript中的構(gòu)造函數(shù)可以用來創(chuàng)建特定類型的對(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ì)象類型的屬性和方法2011-12-12
圍繞面向?qū)ο蟮膸状箨P(guān)鍵字:封裝 ,繼承 ,多態(tài) ,展開JavaScript面向?qū)ο?/div> 2009-03-03
JavaScript 繼承機(jī)制的實(shí)現(xiàn)(待續(xù))
JavaScript繼承機(jī)制的實(shí)現(xiàn),后期會(huì)有一些補(bǔ)充。2010-05-05最新評(píng)論

