对象内存结构

47 阅读1分钟

基本数据类型存储在堆区

引用数据类型存储在栈区

内存结构.jpg

在引用数据类型中,相当于通过门牌号找住户,住户变了,门牌号不变

            // 字面量方式创建对象obj
			var obj = {
				name: 'jack',
				age: 18,
			}

            var obj1 = obj
            obj1.age = 20

            console.log('obj.age ',obj.age)

            var arr = [10,20,30]
            var arr1 = arr
            arr1[1] = 200

            console.log(arr[1])



		</script>
        var obj = {
            name:'jack',
            age:18
        }

        function fun(obj){ //obj = 0x0001
            obj.age = 20
            console.log('fun age ',obj.age); // 20
        }

        fun(obj)

        console.log('age ',obj.age) // 20

        // ===================
        var m = 100
        function fun1(m){
            m = 200
            console.log('fun1 m ',m)
        }
        fun1(m)
        console.log('m ',m);

    </script>

最后一段第一个m是通过函数修改的值,第二个m是其本身的值