复制代码 代码如下:
<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>
<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),该到了垃圾回收的时候啦*-*
标签:
值类型,引用类型
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“JavaScript中值类型与引用类型实例说明”评论...
更新动态
2024年11月15日
2024年11月15日
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]
- 乱斗海盗瞎6胜卡组推荐一览 深暗领域乱斗海盗瞎卡组分享
- 炉石传说乱斗6胜卡组分享一览 深暗领域乱斗6胜卡组代码推荐
- 炉石传说乱斗本周卡组合集 乱斗模式卡组最新推荐
- 佟妍.2015-七窍玲珑心【万马旦】【WAV+CUE】
- 叶振棠陈晓慧.1986-龙的心·俘虏你(2006复黑限量版)【永恒】【WAV+CUE】
- 陈慧琳.1998-爱我不爱(国)【福茂】【WAV+CUE】
- 咪咕快游豪礼放送,百元京东卡、海量欢乐豆就在咪咕咪粉节!
- 双11百吋大屏焕新“热”,海信AI画质电视成最大赢家
- 海信电视E8N Ultra:真正的百吋,不止是大!
- 曾庆瑜1990-曾庆瑜历年精选[派森][WAV+CUE]
- 叶玉卿1999-深情之选[飞图][WAV+CUE]