基本变量&引用变量

2016-12-22  本文已影响0人  大香蕉s

js 中包含两种不同数据类型的值

-  基本类型值
    1. undefined
    2. Null
    3. Boolean
    4. Number
    5. String
- 引用类型值
引用类型的值是保存在内存中的 对象

下面说说我对的理解

一:

var num1 = 5
var num2 = num1 

结果:

变量名 内存中
num1 5 (内存中有自己的位置)
num2 5 (内存中有自己的位置)
var obj1 = { key: 'value'}
var obj2 = obj1 

结果:

变量名 内存中
obj1 { key: 'value'} (内存中有自己的位置)
obj2 obj1 (内存中没有自己的位置,而是引用 obj1 的内存地址)

二:

引用类型值 可以为其添加属性方法 ,而 基本类型 则不可以

    var person = {}
    person.name = "Rabbit"
    alert(person.name)  // ''Rabbit'' 

    var name = "Banana"
    name.age = 24
    alert(name.age) // undefined, 因为 基本类型 不能添加属性 age

三:

传递参数:
基本类型传递参数是复制一个值给参数

var addTen = function(num) {
    return num+10
}

var a = 10
var r = addTen(r)
alert(a) // 10, a 还是 10,没有变化

引用类型传递参数是把它的地址传递给参数

var setName = function(obj) {
    obj.name = 'pinkBao'
}
var person = {}
setName(person)
alert(person.name)  // 'pinkBao', 因为引用类型传递参数是把它的地址传递给参数,所以 setName 函数操作的实际上是 person 这个对象
上一篇下一篇

猜你喜欢

热点阅读