[JS ES6]传值和传址

简介: [JS ES6]传值和传址

传值

什么是传值

let a = 1;
let b = a;
console.log(a, b);  //1 1

image.gif

image.gif编辑

传值是获取一份儿相同的值,并自身重新开一份儿属于自己的内存地址,两个变量是互相独立的并不会互相影响。

image.gif编辑

let a = 1;
let b = a;
b = 2;
console.log(a);
console.log(b);

image.gif

image.gif编辑

修改了b的值,a的值不会受到影响,这就是传值,两者是独立的存在,引用内存比较小的引用赋值一般都是传值。

传址

什么是传址

let a = {
    name: "xiaoxie",
};
let b = a;
console.log(a, b);

image.gif

image.gif编辑

传值是获取一份儿相同的值,不会自身重新开一份儿属于自己的内存地址,两个变量是一个内存地址,会互相影响。

image.gif编辑

let a = {
    name: "xiaoxie",
};
let b = a;
b.name = "xiaoliu"
console.log(a, b);

image.gif

image.gif编辑

修改了b.name就是修改了a.name的值,两者使用同一个内存地址,一般引用占用内存较大的变量时,会传址,比如对象和数组。

目录
相关文章
|
7天前
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
15天前
|
JSON 前端开发 JavaScript
|
9天前
|
缓存 JavaScript 前端开发
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
JavaScript模块化开发:ES6模块与CommonJs的对比与应用
15 2
|
13天前
|
JavaScript 前端开发 API
揭秘现代前端开发秘籍:Vue.js与ES6如何联手打造惊艳应用?
【8月更文挑战第30天】本文介绍如何从零开始使用Vue.js与ES6创建现代前端应用。首先,通过简要介绍Vue.js和ES6的新特性,使读者了解这两者为何能有效提升开发效率。接着,指导读者使用Vue CLI初始化项目,并展示如何运用ES6语法编写Vue组件。最后,通过运行项目验证组件功能,为后续开发打下基础。适用于希望快速入门Vue.js与ES6的前端开发者。
29 3
|
16天前
|
前端开发 JavaScript 开发者
翻天覆地!ES6+新特性大爆发,揭秘JavaScript代码的惊人蜕变!
【8月更文挑战第27天】自ES6标准发布以来,JavaScript新增的特性极大地提升了编程效率并简化了代码。本文重点介绍了五大特性:函数默认参数简化、模板字符串的强大功能、解构赋值的便捷性、箭头函数的简洁之美。这些特性不仅使代码更加简洁、易读,还解决了传统写法中的诸多问题。通过学习和应用这些新特性,开发者可以编写出更高效、更优雅的代码,以应对日益复杂的编程挑战。
33 2
|
21天前
|
JSON JavaScript 前端开发
JS 和 ES6 补充学习
【8月更文挑战第21天】
29 4
|
2月前
|
JavaScript 前端开发 网络架构
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
46 1
|
2月前
|
存储 JavaScript 前端开发
JavaScript编码之路【ES6新特性之 Symbol 、Set 、Map、迭代器、生成器】(二)
JavaScript编码之路【ES6新特性之 Symbol 、Set 、Map、迭代器、生成器】(二)
36 1
|
2月前
|
JavaScript 前端开发
node.js 导入导出模块(CommonJS模块化规范,ES6模块化规范)
node.js 导入导出模块(CommonJS模块化规范,ES6模块化规范)
28 1
|
3月前
|
JavaScript
详细讲解JS的解构赋值(Es6)
详细讲解JS的解构赋值(Es6)