类型 |
复制 |
传递 |
比较 |
数字 |
传值 |
传值 |
传值 |
布尔 |
传值 |
传值 |
传值 |
字符串 |
不可变 |
不可变 |
传值 |
对象 |
传址 |
传址 |
传址 |
function myObject(name){
this.name=name;
}
var o1=new myObject("o1");
var o2=o1;
alert("o1.name="+o1.name);
alert("o2.name="+o2.name);
alert(o1==o2)
o2.name="o2"
alert("o1.name="+o1.name);
alert("o2.name="+o2.name)
alert(o1==o2)
结果为:
- o1
- o1
- true
- o2
- o2
- true
function myObject(name){
this.name=name;
}
var o1=new myObject("o1");
function changeName(o){
o.name="o";
}
changeName(o1);
alert(o1.name);
结果为:
- o
例:
var a={};
var b={}
function create(){
var text={"name":"text"};
a.text=text;
b.text=text;
}
create()
alert(a.text.name);
alert(b.text.name)
结果:
text,text
如果a对象修改了text.name的值,那么b中的text.name也会改变
var a={};
var b={}
function create(){
var text={"name":"text"};
a.text=text;
b.text=text;
}
create()
alert(a.text.name);
a.text.name="a"
alert(b.text.name)
结果为:
text,a
而对于普通变量情况则不一样
var a={};
var b={}
function create(){
var text=10;
a.text=text;
b.text=text;
}
create()
alert(a.text);
a.text=15;
alert(b.text)
结果为:
10,10
分享到:
相关推荐
JavaScript中的引用和复制是理解其工作原理的关键概念。在JavaScript中,数据类型分为两大类:基本类型(包括数字、字符串、布尔值、null和undefined)和引用类型(对象、数组和函数)。这两种类型的变量在赋值和...
通过上述知识点的学习,我们可以更清晰地理解JavaScript中变量作用域的概念,以及传值与传址的区别,从而在编程实践中做出更合适的变量管理和函数设计。对于初学者而言,这不仅是入门的基础知识,更是编写可读、可...
JavaScript是一种动态类型的脚本语言,其变量、传值、传址和参数之间的关系是理解和使用JavaScript中的一个基础但关键点。接下来,我会详细解释这些概念。 首先,JavaScript中的变量可以存储两种类型的数据:基本...
本主题聚焦于JavaScript中的函数调用机制,特别是关于传值和传址的概念。理解这两个概念对于编写高效和可维护的代码至关重要。 首先,我们要明白在JavaScript中,变量有两种类型:基本类型(如字符串、数字、布尔值...
总结来说,JavaScript中的变量处理基于数据类型的不同:不可变类型通过值的复制进行赋值和函数参数传递,而可变类型通过引用的复制进行。这种设计允许JavaScript在处理不同类型数据时更高效地管理内存,同时提供了...
本文将对 JavaScript 基础知识点进行总结,涵盖数据类型、类型转换、作用域、变量提升、传值 VS 传址等知识点。 数据类型 JavaScript 中有 7 种基本数据类型:string、number、object、boolean、null、undefined ...
实际上,JavaScript总是以传值(byVal)的方式传递参数,但这并不意味着对于所有类型的值都表现为传统的传值行为。理解这一点的关键在于理解JavaScript中的值类型(如number、string)和引用类型(如Object、Array)...
传值和传址是两种不同的操作方式,传值复制的是值,而传址复制的是对象的引用。基本数据类型通常通过传值操作,而对象数据类型(如数组和函数)通过传址操作。 3. **字符串的特殊性**: JavaScript中的字符串是不...
在JavaScript中,传递参数主要分为“传值”和“传址”两种方式。当函数通过值传递参数时,实际上传递的是变量值的一个副本。这意味着在函数内部对参数进行修改不会影响到原始变量。相反,当函数通过引用传递参数时,...
在JavaScript中,基本数据类型如数字(Number)和布尔(Boolean)是通过传值的方式操作的,而对象类型如数组(Array)和函数(Function)则是通过传址的方式操作。 ### JavaScript中操作数据值的方式 JavaScript提供了三种...