Javascript 值类型和引用类型

本篇文章由:http://xinpure.com/javascript-value-types-and-reference-types/

Javascript变量类型

  1. 值类型: 字符串、数字、布尔、Null、Undefined
  2. 引用类型: 数组、对象、函数

值类型与引用类型的比较

通过两个实例来比较这两种类型 (调试环境: Chrome 开发者工具 Console)

值类型实例

var a = ‘hello‘;
var b = a;
b;          /* hello */
a = ‘world‘;
b;          /* hello */

值类型的变量赋值过程,其实是分配了一块新的内存空间,值相同但两者互不干扰

引用类型实例

/* 对象或数组 */
var a = {"x": 0};
var b = a;
b.x;            /* 0 */
a.x = 1;
b.x;            /* 1 */

a = {"x": 2};   /* 此时,a 指向了另一块内存空间,b 的值将不受干扰 */
b.x;            /* 1 */
a.x = 3;
b.x;            /* 1 */

/* 函数 */
var a = new Function("alert(‘test‘)");
var b = a;
b();            /* 执行 alert(‘test‘) */

引用类型的变量赋值过程,是将两个变量指向了同一块内存空间,其中一个变量值的改变都会引起另一个变量值的改变

时间: 2024-08-25 06:58:40

Javascript 值类型和引用类型的相关文章

JavaScript 值类型和引用类型的初次研究

今天遇到一个坑,具体的不多说,直接上代码 var a = [ [],[],[1,2,3] ] var b = ['颜色','大小','尺寸'] var arr = [] for(let i = 0; i < a.length; i ++){ let obj = {} for(let j = 0; j < a[i].length; j ++){ obj[b[i]] = a[i][j] arr.push(obj) console.log(arr) console.log(obj) } } cons

javascript值类型和引用类型

一.引言 ECMAScript包含两个不同类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段:引用类型值指由多个值构成的对象.当我们把变量赋值给一个变量时,解析器首先要做的就是确认这个值是基本类型值还是引用类型值.(<javascript高级程序设计(第3版)>) 二.基本类型值和引用类型值 (1)基本类型值   包括Undefined.Null.Boolean.Number和String.这5种基本数据类型是按值访问的,操作保存在变量中的实际的值.   例子: var aa =

JavaScript基本数据类型及值类型和引用类型

在JavaScript中四种基本的数据类型:数值(整数和实数).字符串型(用“”号或‘'括起来的字符或数值).布尔型(使True或 False表示)和空值.在JavaScript的基本类型中的数据可以是常量,也可以变量.由于JavaScript采用弱类型的形式,因而一个数据的 变量或常量不必首先作声明,而是在使用或赋值时确定其数据的类型的.当然也可以先声明该数据的类型,它是通过在赋值时自动说明其数据类型的. javascript中的变量 javascript中的变量只是一个占位符,前言已经说过了

js值类型与引用类型

JavaScript值类型和引用类型有哪些 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数. 三.如何理解值类型和引用类型及举例 我们可以用"连锁店"和"连锁店钥匙"来理解,不知道以下比喻合不合适,^-^. (1)值类型理解:变量的交换等于在一个新的地方按照连锁店的规范标准(统一店面理解为相同的变量内容)新开一个分店,这样新开的店与其它旧店互不相关.各自运营. [值类型例子] 代码如下: function chainSt

JavaScript中的值类型和引用类型

先抛出一个题目,阿里的笔试面试题(很基础,但确实是阿里的笔试题) var a = {"x": 1}; var b = a; a.x = 2; a = {"x": 3}; console.log(b.x); 大家觉得最后在控制台输出的结果是多少? 如果你答案是2,那你就没必要接下去看了.如果不是.那你就接着看下去来解决你的疑惑吧! JavaScript中的值类型和引用类型 在javascript里面有两种变量类型,一种是值类型,一种是引用类型. 值类型:数值.布尔型.

数据类型(1) - 值类型和引用类型

和javascript等脚本语言不同,C#基本上可以说是强类型的编程语言.这意味着,任何变量在编译时(而不是运行时)就必须要有一个类型.直到c#4.0,引入了动态类型为止.c#的弱类型体现在其类型object中.任何变量都可以是object类型的,也就是说他们在编译时没有类型,肯定能通过编译.但错误将会在运行时才发生. 强类型的好处有很多,例如可以保证类型安全(否则将会发生运行时错误),可以享受IDE带来的智能提示等,不容易出错(出错可以在编译的时候就知道).c#有很多数据类型,而他们可以分为两

定义类+类实例化+属性+构造函数+匿名类型var+堆与栈+GC回收机制+值类型与引用类型

为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会. 面向对象编程也叫做OOP编程 简单来说面向对象编程就是结构化编程,对程序中的变量结构划分,让编程更清晰. 类的概念: 类实际上是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法. 类定义了类的每个对象(称为实例)可以包含什么数据和功能. 类中的数据和函数称为类的成员:数据成员        函数成员 数据成员: 数据成员

Java值类型和引用类型

[定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值, 那么调用这个方法是传入的变量的值也将改变.值类型表示复制一个当前变量传给方法, 当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.通俗说法: 值类型就是现金,要用直接用:引用类型是存折,要用还得先去银行取现.----(摘自网上) [值类型] 也就是基本数据类型 基本数据类型常被称为四类八种 四类: 1,整型 2,浮点型 3,字符型4,逻辑型 八种: 1,整型3种 by

java 值类型和引用类型的区别

1. Java中值类型和引用类型的不同? [定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值, 那么调用这个方法是传入的变量的值也将改变.值类型表示复制一个当前变量传给方法, 当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.通俗说法: 值类型就是现金,要用直接用:引用类型是存折,要用还得先去银行取现.----(摘自网上) [值类型] 也就是基本数据类型 基本数据类型常被称为四类八种 四类: 1,整型 2,浮点型 3,字