前端基础面试题--基础数据类型与引用数据类型(Obiect)

今天在图书馆看到《JavaScript核心技术开发解密》这本书,里面讲了js的基础核心知识,拿来回顾一下,加深对基础知识的理解,感觉还不错,值得推荐,下面是随手记录一下知识点总结。

基础数据类型与引用数据类型发生复制行为后的不同结果
  • 看下面两个demo
//demo01.js
var a = 20;
var b = a;
b = 30;

//这时a的值是多少
//demo02.js
var m = { a: 10 , b: 20}
var n = m;
n.a = 15;
//这时m.a的值是多少

上面两个例子中,基础数据类型和引用数据类型都发生了一次复制行为。

  • 当变量对象中的数据类型发生复制行为时,新的变量会被分配到一个新的值。在demo01中,通过 var b = a 发生复制之后,虽然 a 与 b 的值都等于20,但他们其实已经是相互独立互不影响的值了。因此我们修改了 b 的值后,a 的值不会发生变化。
  • 在demo02中,通过 var n = m 发生了一次复制行为。引用类型的复制同样会为新的变量自动分配一个新的值并保存在变量对象中。但不同的是,这个新的值,仅仅是引用类型的一个地址指针。当地址指针相同时,尽管他们相互独立,但它们指向的具体对象实际上是同一个。因此,当修改 n 时, m 也会发生变化,这就是引用类型的特性。

上面的例子是非常简单的,但这也是js中的基础核心知识,必须要有深刻的理解,这本书中主要讲的都是js的核心知识,例如:内存空间、变量对象、作用域、闭包、this、面向对象等,学习前端的同学们,可以看一下,加深一下对js基础的理解。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值