JavaScript中值类型与引用类型实例说明


复制代码 代码如下:

<script type="text/javascript">
var str = 'abced';
var obj = new String(str);
function newToString() {
return 'hello,world';
}
function func(val) {
val.toString = newToString;
}
func(str); //ps:实际只传入了str的值,因此对它的toString修改是无意义的 传入的str相当于是他的一个副本 修改副本的方法 不影响原来的运算结果
alert(str.toString()); //结果为 abced

func(obj); //ps:传入了一个对象的引用(即str本身,或者说是内存地址),因此对它的toString修改将会影响到后来 alert(obj.toString()) 的云寻
alert(obj.toString()); //结果为 hello,world
</script>

附:

JavaScript中的值类型与引用类型

数据类型 值/引用类型 备注

undefined 值 无值

number 值

boolean 值

string 值 字符串在赋值运算中会按引用类型的方式来处理

function 引

object 引
js的值类型和引用类型


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

值类型的变量直接保存变量值;引用变量却持有的引用(可比较c/c++的指针,一把"钥匙"),通过引用可以迅速找到存储内容的内存区域。
值类型一般是一些固定的字节大小的;引用类型往往存储数组,对象,函数这些实现很难知道占据内存大小的量。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

介于2中类型之间的特殊的字符串类型:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

每次建立一个新字符串-----不变对象。
补充:像"hello"这种字符串,当没有变量引用它时(也就是引用计数为0),该到了垃圾回收的时候啦*-*



相关阅读:
实现javascript的延期执行或者重复执行的两个函数
JavaScript 中的 this, call, apply, bind...
JAVASCRIPT中的window.location和document.location
ASP.NET Internet安全Forms身份验证方法
PHP匹配变音使404页面更加智能化
帝国CMS 功能解密 网站安全防火墙使用说明
使用os3grid做一个基于Web和Ajax的工资表录入界面
Oracle 9i中自动撤销管理的优点分析
标记语言——为
asp.net C# 时间间隔的计算方法
SQL Server 2008综合数据可编程性
CSS教程:关于CSS渐变的一些要点
大型门户网站实现的十四大技术小结
javascript编程起步(第七课)
快速导航

Copyright © 2016 phpStudy |