ECMAScript 引用类型
1Object 对象(了解)
Object 对象自身用处不大,不过在了解其他类之前,还是应该了解它。因为 ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似,ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中,所以理解了 Object 对象,就可以更好地理解其他对象。
这个对象需要记住的方法就是toString();
Function 对象(特殊)
Function类可以表示开发者定义的任何函数//相当于java中的方法
用Function类创建函数的语法如下
<pre>
//最常用的方式1
function fun1(){
alert("哈哈");
}
//alert(fun1); 会打印函数的声名
//alert(fun.toString());会打印函数的声名
//定义函数的方式2
var fun = function(a,b,c){
alert(a+b);
}
fun(1,2);
//对象的属性
alert(fun.length)//打印参数的个数 如果没有参数个数0 如果没有参数个数0
fun();//这里可以调用 但根据局部变量转化nan结果相加也为nan
fun(1,2,3);//这里结果为前两个数相加
fun(1,2);//这里结果为3
//js调用函数可以不看参数个数,只看参数名称
</pre>
进阶
这里写一个累加算法
//对象的功能
//最特殊的对象
//是否可以获得传递的参数呢?
//arguments 代表函数运行时参数的封装
function fun1(){
//alert(arguments.length);//.length打印实际传递的参数个数
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">
//函数的进阶
//与java一样,使用return关键字
//return 也可以结束方法的调用
function fun1(a,b){
alert(a+b);
return a+b;
}
//alert(fun1(1,2));
//--------------------------
function fun2(){
alert("haha");//会打印
return "haha";//会返回
alert("hehe");//不执行
}
//alert(fun2());//返回值是undefined
//----------------------------
</script>
</head>
<body>
<a href='javaScript:void(fun2());'>点我</a>
<a href='javaScript:void(fun1(1,2));'>点我</a>
<a href='javaScript:void(0));' onclick="alert('haha')">点我</a>
</body>
</pre>