<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>关于赋值和内存的问题</title></head><body><!--问题:var a = xxx, a内存中到底保存的是什么?* xxx是基本数据, 保存的就是这个数据
* xxx是对象, 保存的是对象的地址值
* xxx是一个变量,保存的xxx的内存内容(可能是基本数据, 也可能是地址值)--><script type="text/javascript">var a =3a=function(){}var b ='abc'
a = b
b ={}
a = b
</script></body></html>
关于引用变量赋值问题
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>02_关于引用变量赋值问题</title></head><body><!--
关于引用变量赋值问题
*2个引用变量指向同一个对象, 通过一个变量修改对象内部数据, 另一个变量看到的是修改之后的数据
*2个引用变量指向同一个对象, 让其中一个引用变量指向另一个对象, 另一引用变量依然指向前一个对象
--><script type="text/javascript">var obj1 ={name:'Tom'}var obj2 = obj1
obj2.age =12
console.log(obj1.age)// 12functionfn(obj){
obj.name ='A'}fn(obj1)
console.log(obj2.name)//Avar a ={age:12}var b = a
a ={name:'BOB',age:13}
b.age =14
console.log(b.age, a.name, a.age)// 14 Bob 13functionfn2(obj){
obj ={age:15}}fn2(a)
console.log(a.age)</script></body></html>
关于数据传递问题
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>02_关于数据传递问题</title></head><body><!--问题: 在js调用函数时传递变量参数时, 是值传递还是引用传递
* 理解1:都是值(基本/地址值)传递
* 理解2: 可能是值传递,也可能是引用传递(地址值)--><script type="text/javascript">var a =3functionfn(a){
a = a +1}fn(a)
console.log(a)functionfn2(obj){
console.log(obj.name)}var obj ={name:'Tom'}fn2(obj)</script></body></html>