js中值类型与引用类型

/// 引用类型: 复杂类型

// 内存:可以重复利用 定义的变量 数据都是存储在内存中

// 简单类型在内存中存储的时候,存储的是值本身, 所以简单类型也叫值类型

// 栈 堆 (java )

var num = 10;

var str = ‘abc’;

var flag = true;

// new Object()

var obj = {

name: ‘zs’,

age: 18

}

/*

值类型: 简单类型, 因为变量在存储简单类型的时候,直接存储的就是值本身

引用类型: 复杂类型,复杂类型自己会在内存中存储,变量存放的仅仅是这个复杂类型的地址。

*/

3.值类型与引用类型赋值特征

在这里插入图片描述

Document

4.值类型与引用类型参数传递

在这里插入图片描述

Document

5.面试题

Document

6.值类型与引用类型练习

//面试题1 :

// a -> x

function fn(a, b) {

// 相当于

// var a = 10;

// var b = 20;

// 函数的参数 其实就是函数内部的局部变量

a = a + 1;

b = b + 1;

console.log(a);

console.log(b);

}

var x = 10;

var y = 20;

fn(x, y);

console.log(x);

console.log(y);

//面试题2 :

var p = {

name:“zs”,

age:18

}

function fn(person) {

person.name = ‘ls’;

console.log(person.name);

}

fn§;

console.log(p.name);

//面试题3

function Person(name, age, salary) {

this.name = name;

this.age = age;

this.salary = salary;

}

function f1(person) {

person.name = “ls”;

console.log(person.name);

}

var p = new Person(“zs”, 18, 1000);//创建一个新对象

console.log(p.name);//

f1§;

console.log(p.name);//

//面试题4

function Person(name, age, salary) {

this.name = name;

this.age = age;

this.salary = salary;

}

function f1(person) {

person.name = “ls”;

person = {

name : ‘zs’

}

console.log(person.name);

}

var p = new Person(“zs”, 18, 1000);//创建一个新对象

console.log(p.name);//

f1§;

console.log(p.name);

结论:简单类型存储的是值本身,复杂类型存储的是地址,引入如果把第一个对象赋值给另一个变量,此时两个变量会指向同一个对象。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值