Java值类型和引用类型,以及复制的是什么东西
2017-11-02 21:30
246 查看
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的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方。
(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的值也发生了改变,这正是引用类型的特征,也是我们要注意的地方。
相关文章推荐
- java深浅复制以及引用传递
- JVM概念中的Java对象的大小,以及三种引用类型的定义与区分
- Java 引用类型-强引用、软引用、弱引用以及虚引用
- java中的基本数据类型和引用数据类型以及它们的存储方式堆内存和栈内存
- 读thinking in java的收获(一)——java中的引用,c++引用与c指针的区别与联系以及java的数据类型
- Java自学之路-Java基础教程-20:Java的数组以及其他引用类型和JDK
- 用类名做方法的返回值类型 在学习Java的初始阶段,很多同学使用基本数据类型定义变量和引用类型定义变量以及使用类名做方法的返回值类型常常不知所以。今天我以自己的解读方式和个人的理解作一个简单的解释,和
- JAVA的数组 && 原始类型和引用类型以及String与int long相互转化 && String与byte[]相互转化
- Java基本类型以及引用类型String介绍
- Java 基本数据类型和引用数据类型各有什么特点(面试)
- Java中的引用类型分类以及使用场景
- Java语言中try-catch-finally中return解析以及引用类型和值类型区分
- 关于java基础类型与引用类型内存存储问题,以及string.intern()方法(String两种创建方式的区别)
- Java中的对象类型像引用还是指针,谁是谁非?
- 我要开始学习Java了,我需要准备些什么东西呢?
- java的原始类型于引用类型(经典!)
- Java中区分引用类型和原始类型
- 有关java中的引用与简单的类型的讨论
- Java中的值类型,引用类型
- int类型以及指针的类型所占字节的大小,到底是由什么决定的?