赋值与赋引用

var str1="lisa";

var str2=str1;

console.log(str1==str2);//true

var obj1={a:10,b:20};

var obj2={a:10,b:20};

console.log(obj1==obj2);//false

//基本数据类型,操作的是值

var n=2;

var m=n+5;

console.log(n,m);

//引用数据类型赋值时不只是值,还把地址也赋值了

var arr1=[1,2,3,4];

var arr2=arr1;//arr1和arr2有相同的地址不管改哪个都改变

console.log(arr1==arr2);

arr2.push(4);

console.log(arr2);

console.log(arr1);

var arr3=[4,5,6];

var arr4=arr3;

arr4=[7,8,9];//arr4又赋值了,所以又开了个存储空间之后把地址给arr4

arr4.push(9);

console.log(arr4);//[7,8,9]

console.log(arr3);//[4, 5, 6]

//基本数据类型比较,值相等对就返回true

var n1=10,n2=10;

console.log(n1==n2);//true

//复杂数据类型不仅要比较值,还要比较他们的引用地址,如果都想等那么他们才相等。

var obj3={a:10,b:10};

var obj4=obj3;

console.log(obj4==obj3);//true

//操作引用数类型时我们只要值,不要地址?

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 01 值类型和引用类型简单说明 值类型主要有: 引用类型主要有: 值类型: 储存的是具体的值。保存为简单的数据值,...
    码农的世界你不懂阅读 392评论 0 0
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,207评论 0 13
  • 开篇废话是一种情怀 在我们开始学习面向对象之前,首先得先想一个问题,那就是何为对象? 在日常生活中我们有男朋友\女...
    西巴撸阅读 525评论 4 3
  • 相关知识点 数据类型、运算、对象、function、继承、闭包、作用域、原型链、事件、RegExp、JSON、Aj...
    sandisen阅读 11,395评论 7 175
  • 连日里高度紧张压抑的陈默终于“爆发”,开启了吐槽抱怨的模式。身边的朋友是第一批遭殃对象。终于小柔由最初的安慰变成直...
    影2016阅读 428评论 0 0