JavaScript中值类型与引用类型实例说明
2010-12-12 00:00
555 查看
<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的值类型和引用类型
基本类型/引用类型--值类型
var a=1;
var b=a;
a=2;
alert(b);//1
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
值类型的变量直接保存变量值;引用变量却持有的引用(可比较c/c++的指针,一把"钥匙"),通过引用可以迅速找到存储内容的内存区域。
值类型一般是一些固定的字节大小的;引用类型往往存储数组,对象,函数这些实现很难知道占据内存大小的量。
基本类型/引用类型--引用类型
//引用涉及的内容占据不固定的大小--像数组,对象,函数
var a=[1,2,3];
var b=a;//拷贝的引用值--想象成一个指针
a[0]=100;
alert(b);//100,2,3
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
介于2中类型之间的特殊的字符串类型:
基本类型/引用类型--字符串
//字符串比较特殊,长度不固定应该引用,可是某些行为又像基本类型的
var a="hello";
var b=a;//拷贝的引用值--想象成一个指针
a="你好";//实际上是又建立另外一个字符串"你好"并指向它
alert(b);//hello
//字符串算是一种不变对象
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
每次建立一个新字符串-----不变对象。
补充:像"hello"这种字符串,当没有变量引用它时(也就是引用计数为0),该到了垃圾回收的时候啦*-*
相关文章推荐
- JavaScript中值类型与引用类型实例说明
- JavaScript引用类型Object常见用法实例分析
- js中的值类型和引用类型小结 文字说明与实例
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->add 函数
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->addRange 函数
- JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
- JavaScript引用类型Date常见用法实例分析
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clear 函数
- JavaScript引用类型Function实例详解
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clone 函数
- js中的值类型和引用类型小结 文字说明与实例
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->contains 函数
- javascript基本数据类型与值类型引用类型说明
- JavaScript引用类型Array实例分析
- 关于值类型、引用类型和字符串类型的比较问题!通过实例来说明!
- 【JavaScript】基本类型和引用类型的值、引用类型
- JavaScript之引用类型介绍
- javascript_lesson3_引用类型