JS 引用类型和值类型

news/2024/7/8 6:45:10

 

自己的看高程3第五章应用类型的时候,有些迷糊,所以上网搜到这篇文章

转自求小天的博客园,地址:http://www.cnblogs.com/lxq1990/archive/2012/11/04/2754226.html

这个比喻很形象,帮助理解。

 

js 值类型和引用类型

 

JavaScript值类型和引用类型有哪些 

(1)值类型:数值、布尔值、null、undefined。 

(2)引用类型:对象、数组、函数。 

如何理解值类型和引用类型及举例 

我们可以用“连锁店”和“连锁店钥匙”来理解,不知道以下比喻合不合适,^-^。 

(1)值类型理解:变量的交换等于在一个新的地方按照连锁店的规范标准(统一店面理解为相同的变量内容)新开一个分店,这样新开的店与其它旧店互不相关、各自运营。 

【值类型例子】

复制代码 代码如下:

function chainStore() 

var store1='Nike China'; 
var store2=store1; 
store1='Nike U.S.A.'; 
alert(store2); //Nike China 

chainStore(); 
//把一个值类型(也可以叫基本类型)store2传递给另一个变量(赋值)时,其实是分配了一块新的内存空间,因此改变store1的值对store2没有任何影响,因为它不像引用类型,变量的交换其实是交换了指像同一个内容的地址。


(2)引用类型理解:变量的交换等于把现有一间店的钥匙(变量引用地址)复制一把给了另外一个老板,此时两个老板同时管理一间店,两个老板的行为都有可能对一间店的运营造成影响。 

【引用类型例子】

复制代码 代码如下:

function chainStore() 

var store1=['Nike China']; 
var store2=store1; 
alert(store2[0]); //Nike China 
store1[0]='Nike U.S.A.'; 
alert(store2[0]); //Nike U.S.A. 

chainStore(); 
//在上面的代码中,store2只进行了一次赋值,理论上它的值已定,但后面通过改写store1的值,发现store2的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方。

转载于:https://www.cnblogs.com/zhangxg/p/4615540.html


http://www.niftyadmin.cn/n/543243.html

相关文章

服务器raid5磁盘阵列不同故障的数据恢复方法列举和raid磁盘阵列分析

服务器Raid 5磁盘阵列算法原理 分布式奇偶校验的独立磁盘结构(也就是我们称之为的raid 5)数据恢复有一个“奇偶校验”概念需要理解。我们可以把它简单的理解成为二进制运算中的“异或运算”,通常使用的标识是xor。这个用运算的规则就是若二者…

Service生命周期

与Activity类似,Service也有自己的生命周期函数,在不同的时刻,系统会调用对应的Service生命周期函数,不过与Activity声明周期相比,Service的声明周期更加简单,我们通过官方给出的一张图片来体会一下&#x…

C#/Sqlite-单机Window 程序 sqlite 数据库实现

数据库分析和选择 Excel 文件 做数据源 限制性比较强,且不适合查询,分析 等操作 Access 数据库 Access 管理数据界面和功能不强 mysql 和sql server 功能满足,但需要安装 最后 还是选择sqlite 数据库 C#中sqlite数据库实现 ste…

Tomcat杂记(1)

Tomcat Tomcat基础 1、安装jdk 1.1 安装jdk [rootmaster1 tomcat]# ls apache-tomcat-8.0.41.tar.gz jdk-8u121-linux-x64.rpm安装jdk [rootmaster1 tomcat]# rpm -ivh jdk-8u121-linux-x64.rpm 1.2 设置java环境变量 [rootmaster1 jdk1.8.0_121]# vim /etc/profile.d/java.sh…

Mac Android Apk反编译

转自:https://www.cnblogs.com/typing/p/7780017.html 在mac os系统上反编译android apk,首先需要准备好以下3个文件: 1、apktool:https://ibotpeaches.github.io/Apktool/install/ 2、dex2jar:https://github.co…

通过使用浏览器对象模型,输出当前浏览器窗口中打开的文档的URL信息,并将显示在窗口中。...

<script type"text/javascript">window.document.write("这个网页文件来自&#xff1a;".bold());window.document.write(window.location.toString());</script>转载于:https://www.cnblogs.com/clear93/p/4624174.html

Android安全之---应用防dex2jar原理及实现

转自&#xff1a;https://www.jianshu.com/p/0306cb947d7a 一、反编译某平台代码 最近在看某外卖平台的代码&#xff0c;发现某外卖平台最新版本版本无法正常的通过dex2jar工具将dex转换出Java源代码&#xff0c;在转换过程中会提示出错&#xff0c;如图&#xff1a; dex2jar…

中企通信亮相WRE制造业CIO峰会2017

由WRE CIO Alliance与Trueadvisor联合主办的“WRE制造业CIO峰会2017”在2017年6月22日-23日在上海锦江汤臣洲际大酒店成功举办&#xff0c;作为WRE首席信息官系列峰会之一的制造业CIO峰会将汇集超过250世界领先制造业的公司CIO, CTO和IT高管&#xff0c;其中包括全球顶尖IT研究…