ECMAScript 引用類型
1Object 對象(了解)
Object 對象自身用處不大,不過在了解其他類之前廷没,還是應(yīng)該了解它。因為 ECMAScript 中的 Object 對象與 Java 中的 java.lang.Object 相似垂寥,ECMAScript 中的所有對象都由這個對象繼承而來颠黎,Object 對象中的所有屬性和方法都會出現(xiàn)在其他對象中,所以理解了 Object 對象滞项,就可以更好地理解其他對象狭归。
這個對象需要記住的方法就是toString();
Function 對象(特殊)
Function類可以表示開發(fā)者定義的任何函數(shù)//相當(dāng)于java中的方法
用Function類創(chuàng)建函數(shù)的語法如下
<pre>
//最常用的方式1
function fun1(){
alert("哈哈");
}
//alert(fun1); 會打印函數(shù)的聲名
//alert(fun.toString());會打印函數(shù)的聲名
//定義函數(shù)的方式2
var fun = function(a,b,c){
alert(a+b);
}
fun(1,2);
//對象的屬性
alert(fun.length)//打印參數(shù)的個數(shù) 如果沒有參數(shù)個數(shù)0 如果沒有參數(shù)個數(shù)0
fun();//這里可以調(diào)用 但根據(jù)局部變量轉(zhuǎn)化nan結(jié)果相加也為nan
fun(1,2,3);//這里結(jié)果為前兩個數(shù)相加
fun(1,2);//這里結(jié)果為3
//js調(diào)用函數(shù)可以不看參數(shù)個數(shù),只看參數(shù)名稱
</pre>
進(jìn)階
這里寫一個累加算法
//對象的功能
//最特殊的對象
//是否可以獲得傳遞的參數(shù)呢匙赞?
//arguments 代表函數(shù)運(yùn)行時參數(shù)的封裝
function fun1(){
//alert(arguments.length);//.length打印實(shí)際傳遞的參數(shù)個數(shù)
var count = 0;
for(var i = 0;i<arguments.length;i++){
count+=arguments[i];
}
alert(count);
}
fun1();//0
fun1(1,2,3);//6
fun1(1,2);//3
Function對象的返回值問題
<pre>
<script type="text/javascript">
//函數(shù)的進(jìn)階
//與java一樣棵癣,使用return關(guān)鍵字
//return 也可以結(jié)束方法的調(diào)用
function fun1(a,b){
alert(a+b);
return a+b;
}
//alert(fun1(1,2));
//--------------------------
function fun2(){
alert("haha");//會打印
return "haha";//會返回
alert("hehe");//不執(zhí)行
}
//alert(fun2());//返回值是undefined
//----------------------------
</script>
</head>
<body>
<a href='javaScript:void(fun2());'>點(diǎn)我</a>
<a href='javaScript:void(fun1(1,2));'>點(diǎn)我</a>
<a href='javaScript:void(0));' onclick="alert('haha')">點(diǎn)我</a>
</body>
</pre>