面向對象的javascript(筆記)
更新時間:2009年10月06日 00:13:26 作者:
面向對象的javascript之學習筆記,需要學習的朋友可以參考下,腳本之家之前更新了不少這方便的文章。
一、引用
//產生一個數(shù)組對象
var items = new Array('1','2','3');
//使一個引用指向該對象
var itemRef = items;
items.push('4');
//items 與 itemRef指向同一對象
alert(items.length === itemRef.length);
// 修改對象會產生一個新對象
var item = 'test';
var itemRef = item;
item+='ing';
//此時item和itemRef不再指向同一個對象
alert(item != itemRef);
二、判斷傳入?yún)?shù)的數(shù)量及類型
//arguments 能用了判斷函數(shù)參數(shù)的個數(shù)
function sendMessage(msg,obj){
if(arguments.length ==2)
obj.handleMsg(msg);
else
alert(msg);
}
判斷類型可以使用typeof和javascript對象的constructor屬性
//typeof能用一個字符串表達變量的類型名
//判斷一個變量num是否是string 類型
if(typeof num == 'string')
//但是typeof對都是object array類型不能區(qū)分
//利用constructor 判讀num是否是String類型
if(num.constructor == String)
if(num.constructor == Array)
//該函數(shù)判斷一個函數(shù)的變量的長度和變量類型
function strict(types,args){
if(types.length != args.length){
throw "參數(shù)個數(shù)無效";
}
for(var i=0; i<args.length; i++){
if(args[i].constructor != types[i]){
throw '參數(shù)類型不匹配'
}
}
}
復制代碼 代碼如下:
//產生一個數(shù)組對象
var items = new Array('1','2','3');
//使一個引用指向該對象
var itemRef = items;
items.push('4');
//items 與 itemRef指向同一對象
alert(items.length === itemRef.length);
// 修改對象會產生一個新對象
var item = 'test';
var itemRef = item;
item+='ing';
//此時item和itemRef不再指向同一個對象
alert(item != itemRef);
二、判斷傳入?yún)?shù)的數(shù)量及類型
復制代碼 代碼如下:
//arguments 能用了判斷函數(shù)參數(shù)的個數(shù)
function sendMessage(msg,obj){
if(arguments.length ==2)
obj.handleMsg(msg);
else
alert(msg);
}
判斷類型可以使用typeof和javascript對象的constructor屬性
復制代碼 代碼如下:
//typeof能用一個字符串表達變量的類型名
//判斷一個變量num是否是string 類型
if(typeof num == 'string')
//但是typeof對都是object array類型不能區(qū)分
//利用constructor 判讀num是否是String類型
if(num.constructor == String)
if(num.constructor == Array)
//該函數(shù)判斷一個函數(shù)的變量的長度和變量類型
function strict(types,args){
if(types.length != args.length){
throw "參數(shù)個數(shù)無效";
}
for(var i=0; i<args.length; i++){
if(args[i].constructor != types[i]){
throw '參數(shù)類型不匹配'
}
}
}
相關文章
javascript 面向對象編程 function是方法(函數(shù))
在進行編程時,必免不了要碰到復雜的功能。初學者最怕復雜的功能,因為不能夠很好的進行功能邊界劃分,只能一大串if、循環(huán)加case堆疊在一起,結果出來的程序自己看著暈,別人看著更暈。2009-09-09

