欢迎光临

木子屋

标题: Javascritp数据类型的基本类型和引用类型

作者: dnawo

日期: 2007-07-13 08:55 AM

分类: 脚本语言

内容: Javascript的数据类型简单的可分成两组：基本类型和引用类型。数字和布尔值是基本类型，它们使用值来操作；对象(对象、数组、函数)是引用类型，它们使用引用来操作。字符串比较特殊，由于它的长度是任意的，所以看起来它应该属于引用类型，但事实上在Javascript中它通常被当作基本类型，因为它并不是对象，因而你可以将字符串看作是行为与基本类型相似的不可变引用类型，或是将它看作使用引用类型的内部功能实现的基本类型，结果都是一样的。下边我们举几个例子来说明基本类型和引用类型：
复制内容到剪贴板 程序代码<script language="javascript">
var n1,n2;
var b1,b2;
var s1,s2;
n1 = 1;
n2 = n1;
n1 = 10;
b1 = true;
b2 = b1;
b1 = false;
s1 = "mzwu";
s2 = s1;
s1 = "com";
alert("n2=" + n2 + "\n" + "b2=" + b2 + "\n" + "s2=" + s2);
</script>
结果：
n2=1
b2=true
s2=mzwu
这应该是比较好理解的。
复制内容到剪贴板 程序代码<script language="javascript">
var obj = new Object();
var arr = new Array("www","mzwu","com");
var obj2,arr2;
obj.url = "www.mzwu.com";
obj2 = obj;
obj.url = "www.baidu.com";
arr2 = arr;
arr[1] = "baidu";
alert("obj2.url=" + obj2.url + "\n" + "arr2[1]=" + arr2[1]);
</script>
结果：
obj2.url=www.baidu.com
arr2[1]=baidu
obj2原先只是引用obj对象，当obj属性值改变时，obj2的值也随着改变；arr2和obj2同理。
和Javascript的数据类型相比，vbscript的数据类型和javascript不太一样：
复制内容到剪贴板 程序代码<script language="vbscript">
Dim n1,n2
Dim b1,b2
Dim s1,s2
n1 = 1
n2 = n1
n1 = 10
b1 = true
b2 = b1
b1 = false
s1 = "mzwu"
s2 = s1
s1 = "com"
msgbox "n2=" & n2 & chr(13) & "b2=" & b2 & chr(13) & "s2=" & s2
</script>
结果：
n2=1
b2=true
s2=mzwu
这和Javascript一样
复制内容到剪贴板 程序代码<script language="vbscript">
Dim arr,arr2
Dim obj,obj2
arr = Array("www","mzwu","com")
arr2 = arr
arr = Array("www","baidu","com")
Set obj = new RegExp
obj.Pattern="www\.mzwu\.com"
Set obj2 = obj
obj.Pattern="www\.baidu\.com"
msgbox "arr2(1)=" & arr2(1) & chr(13) & "obj2.Pattern=" & obj2.Pattern
</script>
结果：
arr2(1)=mzwu
obj2.Pattern=www\.baidu\.com
这说明在vbscript中，数组也是当做基本类型来操作的，而对象则当作引用类型进行操作。

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.691 ms

返回

标题: Javascritp数据类型的基本类型和引用类型

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.691 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.707 ms

返回