精通JavaScript —— 面向对象的JavaScript

来源:互联网 发布:网络神偷官网 编辑:程序博客网 时间:2024/05/21 01:29

 

1-1

<html>

<head>

<script>

// obj置为空对象

var obj = new Object();

// objRef 是 obj的引用

var objRef = obj; 

// 修改原对象的一个属性

obj.oneProperty = true;

// 输出结果是true,因为它们引用了同一个对象

alert(obj.oneProperty === objRef.oneProperty);

</script>

</head>

</html>

打开页面弹出对话框 true

1-2

下面是一个最常用的例子:用push方法来给array对象添加新元素。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

 <HEAD>

  <TITLE> New Document </TITLE>

  

  <script type="text/javascript">

// 创建一个数组

var items = new Array("one","two","three") ;

// 创建一个数组引用

var itemRef = items ;

// 将一个元素添加到数组中

items.push("four") ;

// 两个数组的长度是一致的,它们指向同一个数组对象

alert( items.length === itemRef.length );

  </script>

 </HEAD>

 <BODY>

 </BODY>

</HTML>

必须记住引用指向的只能是一个具体的对象,而不能是另一个引用。

1-3

修改对象的引用,同时保持完整性

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

 <HEAD>

  <TITLE> New Document </TITLE>

  <script type="text/javascript">

// 创建一个数组

var items = new Array("one","two","three") ;

// 创建一个数组引用

var itemRef = items ;

// items置为一个新对象

items = new Array("new" , "Array") ;

/* items 和 itemRef 现在指向不同的对象,items指向 new Array("new" , "Array")

   itemRef指向 new Array("one","two","three")

*/

alert(items == itemRef);

  </script>

 </HEAD>

 <BODY>

 </BODY>

</HTML>

1-4

var items = "test";

var itemRef = items;

items += "ing" ;

// items 和 itemRef 的值一经不同,因为新的字符串已经被创建

alert(items == itemRef);