???1, 關(guān)于對象中屬性的存取,javascript也體現(xiàn)了他的靈活性,你可以像java樣用.讀取,也可以數(shù)組方式存取。如:
var o = {x:1,y:2};
document.write(o.x);
document.write(o["x"]);
第一種方式中,點(diǎn)操作符后面跟著的是標(biāo)示符,它是固定的,不可變得。在第二種方式中,中括號中是個(gè)string型的表達(dá)式,因此它是動(dòng)態(tài)的,可變的。任何結(jié)果是"x"的表達(dá)式都可以。如:
var s = "x";
document.wrinte(o[s]);
輸出同樣的結(jié)果。
如果用戶要讀取的屬性是不確定的,要根據(jù)用戶的輸入來確定,那么第二種寫法就顯得方便多了。
2,? 前面曾經(jīng)講過javascript中函數(shù)的參數(shù)可以是任意的,即使你定義了兩個(gè)參數(shù),在實(shí)際調(diào)用的時(shí)候,你可以輸入任意個(gè)參數(shù)。這樣做雖然很靈活,可以讓我們少寫幾個(gè)函數(shù),但如果我們規(guī)定這個(gè)函數(shù)必須使用2個(gè)參數(shù),否則就要拋出異常,那該怎么辦呢,js還有個(gè)arguments對象,它里面存放了調(diào)用時(shí)傳入的參數(shù),你可以已數(shù)組的方式存取,如arguments[0],arguments[1]等,但它不是個(gè)數(shù)組對象,沒有數(shù)組的一些方法,如split,sort等等。
????? 那么我能不能知道函數(shù)定義時(shí)定義的參數(shù)的個(gè)數(shù)呢?function有個(gè)length屬性,就是表明定義時(shí)函數(shù)的參數(shù)個(gè)數(shù)。可以通過arguments.callee.length 或 functionName.length得到。
posted on 2006-09-14 19:59
Aaron.Chu 閱讀(187)
評論(0) 編輯 收藏