`
leejian
  • 浏览: 27197 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

js对象赋值给变量问题

阅读更多

以下表达式的结果可以帮助js初学者了解对象赋值给变量的问题。

var a = [];
var b = [];
b[0] = 1;
console.log(a[0]);
console.log(b[0]);
console.log(a===b);


 

上述代码输出结果分别为:

1

1

true

       

       结果说明:将数组对象赋值给变量,仅仅是赋值的引用,数组对象本身并没有赋值一次,因此,变量a和b指向同一个数组。

分享到:
评论

相关推荐

    微信小程序 两种为对象属性赋值的方式详解

    微信小程序两种为对象属性赋值的方式 对应config.wxml 阶段一 对应config.js data:{ //定义对象 configs:{} } //方式一 switchChange:function(e){ //为对象的某一属性赋值 configs.config1={ }; ...

    JS赋值、浅拷贝和深拷贝(数组和对象的深浅拷贝)实例详解

    本文实例讲述了JS赋值、浅拷贝和深拷贝(数组和对象的深浅拷贝)。...当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪

    【JavaScript源代码】JavaScript高级程序设计之变量与作用域.docx

     let num1 = 5 let num2 = num1 引用值通过变量赋值给另一个变量时,也会复制一个值,这个值其实是一个指针(引用),该指针指向的还是同一个对象。 let obj1 = new Object() let obj2 = obj1 既然是指向同一...

    【JavaScript源代码】详解JS变量存储深拷贝和浅拷贝.docx

     目录 变量类型与存储空间栈内存和堆内存基本数据类型引用类型图解存储空间引用类型的赋值深拷贝和浅拷贝深拷贝浅拷贝对象的赋值三者对比浅拷贝的常用的五种方法Object.assign()扩展运算符Array.prototype.slice...

    javascript中数组深拷贝途径及对象数组深拷贝

    在js当中,我们常常遇到数组复制的的情况,许多人一般都会使用“=”来直接把一个数组赋值给一个变量,如: var a=[1,2,3]; var b=a; console.log(b); //输出的是1,2,3 a[2]=0; console.log(b); //输出的是1,2,0 ...

    JavaScript中 ES6变量的结构赋值

    变量的结构赋值用户很多 1、交换变量的值 let x = 1; let y = 2; [x,y] = [y,x] 上面的代码交换变量x和变量y的值,这样的写法不仅简洁,易读,语义非常清晰 2、从函数返回多个值 函数只能返回一个值,如果要返回多...

    java源码结构-FCC-JavaScript-Algorithms-and-Data-Structures-Certification:完成

    将一个变量的值分配给另一个 用赋值运算符初始化变量 了解未初始化的变量 了解变量中的区分大小写 用JavaScript加两个数字 用JavaScript减去一个数字 使用JavaScript将两个数相乘 使用JavaScript将一个数除以另一个 ...

    javascript变量声明实例分析

    本文实例讲述了javascript变量声明的方法。分享给大家供大家参考。具体分析如下: js中使用一个变量之前应当先声明...然而从历史上来说,在非严格模式下,如果给一个未声明变量赋值,js实际上会给全局对象创建一个同名

    JavaScript之解构赋值的理解

    1. ES6的新特性  允许将对象或者数组’分解’成多个单独... 这句话的意思是, 定义a,b,c三个变量, 然后在obj对象中寻找a,b,c变量, 如果找到, 则赋值给对应的变量   所以,   a, 已定义, 但是未赋值. 定义是在const{

    JavaScript的变量声明与声明提前用法实例分析

    向一个未声明变量赋值会隐式地将其创建为一个全局变量(它变成了全局对象的一个属性)。声明变量与未声明变量之间的区别为: 1. 声明变量的作用范围限定在其执行的上下文环境中。未声明的变量总是全局的。 function...

    sihai00#interview#03变量的解构赋值1

    1.数组的解构赋值 1. 当解构的值严格等于undefined,取默认值 2. 默认值可设为函数,是惰性求值 2.对象的解构赋值 3.字符串的解构赋值 4.数值

    ES6之解构赋值

    通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。 换句话说也就是ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。 数组的解构赋值 基本用法: let [a, b, c] = [1, 2, 3...

    js 对象使用的小技巧实例分析

    这样就有一个好处,当处理一个复杂json树的时候,想要单独改变其中某一个子对象属性时,不需要根据对象id遍历查找到这个对象了,而是可以直接通过事件方式将这个对象通过参数的方式赋值给一个专属变量,这个变量就...

    Xujie990604#HTML-CSS-Javascript-#Ts变量声明1

    Ts变量声明尽量使用ES6的新的声明变量的语法 let 和 consttypeScript中允许将对象的属性设置为只读的解构赋值数组的解构赋值,并且在函数定义时

    Javascript中判断一个值是否为undefined的方法详解

    相信大家都知道当声明一个变量,并且没有给赋值的情况下,它的初始值是undefined。但是在javascript中,怎么检查一个值是否为undefined呢? 简单来说,在现代浏览器中,你可以安全的比较变量是否为undefined if ...

    JS模拟面向对象全解(二、类型与赋值)

    类型赋值类似变量传递的问题。 基本数据类型不必说,传值的。 代码如下: var a=5; var b=a; b=3; alert(a);//提示5 alert(b);//提示3 由此观之,发现改变b不会改变a,因为都是变量的值在来回传递,...

    浅析四种常见的Javascript声明循环变量的书写方式

    Javascript中的循环变量声明,到底应该放在哪儿? 习惯1:不声明直接使用 function loop(arr) { for (i = 0; i < arr.length; i++) { // do something } } 非常危险的使用习惯,一般情况下循环变量将成为...

    JavaScript传递变量: 值传递?引用传递?

    当变量A赋值给变量B时,会将栈中的值复制一份到为新变量分配的空间中。 如何理解? 代码如下: var x = y = 1; y = 2; alert(x); x的值为多少? 代码如下: var obj = {}; var sub = {}; sub[‘id’] = 3; obj...

    源文件程序天下JAVASCRIPT实例自学手册

    4.2 JavaScript对象的生成 4.2.1 HTML文档结构 4.2.2 DOM框架 4.2.3 顶级对象之间的关系 4.2.4 浏览器载入文档时对象的生成 4.3 JavaScript核心对象 4.4 文档对象的引用 4.4.1 通过对象位置访问文档对象 4.4.2 通过...

Global site tag (gtag.js) - Google Analytics