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),该到了垃圾回收的时候啦*-*
相关文章
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
这篇文章主要介绍了JS前端面试基本排序算法原理与实现方法,结合实例形式详细分析了JS常见的基本排序算法相关原理、实现方法、时间复杂度及操作注意事项,需要的朋友可以参考下2020-02-02javascript下利用for( in )语句 获得所有事件名称的代码
2008-02-02JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
这篇文章主要介绍了JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法,涉及javascript窗口的相关操作函数与使用技巧,需要的朋友可以参考下2017-09-09BootStrap模态框和select2合用时input无法获取焦点的解决方法
在bootstrap的模态框里使用select2插件,会导致select2里的input输入框没有办法获得焦点,没有办法输入。怎么解决这个问题呢?下面小编给大家带来了BootStrap模态框和select2合用时input无法获取焦点的解决方法,一起看看吧2017-09-09js 通过html()及text()方法获取并设置p标签的显示值
这篇文章主要介绍了js 通过html()及text()方法获取并设置p标签的显示值,需要的朋友可以参考下2014-05-05
最新评论