JS中的“特殊点”

为什么typeof null返回的是object类型?

在JavaScript最初的实现中,JavaScript中的值是由一个表示类型的标签和实际数据值表示的。对象的类型标签是0,由于null代表的是空指针(大多数平台下值为0x00),因此,null类型标签也成为了0(十进制),typeof null就错误的返回了object(摘自原文出处

函数带大括号和不带大括号的区别?

// 不带大括号(此时函数test相当于return a+b)
const test = (a,b) => a+b
alert(test(1,2))   // output: 3

// 带大括号,则不能写a+b
const  test = (a,b) => {
    a + b   // output: undefined
}
// 应该写
const test = (a,b) => {
    return a+b
}
test(1+2)     // output: 3

引用类型的赋值关系

JS中引用类型之间的赋值(浅拷贝),相当于指针的引用(如下图)

// 简单的demo

let obj1 = {}
let obj2 = obj1

obj2.name = "zhangsan"

console.log(obj1)
console.log(obj2)   // obj1 和 obj2 的值是一样的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值