js面试,变量计算等相关问题
程序员文章站
2022-04-22 23:25:32
js面试,变量计算等相关问题
一、引用类型和值类型
什么是值类型,可以这么理解,值类型是有2块内存分别保存变量名和内容。
什么是引用类型,那就是有3块内存分别保存变量,地址,...
js面试,变量计算等相关问题
一、引用类型和值类型
什么是值类型,可以这么理解,值类型是有2块内存分别保存变量名和内容。
什么是引用类型,那就是有3块内存分别保存变量,地址,和内容。对于引用类型来说变量是指向地址而非直接指向值,多了一个中间层,所以叫引用。
用图表示就是:
值类型
引用类型
代码表达就是:
/*值类型,值独立存储,相互不影响*/ let a = 100; let b = a; a=200; console.log(b)//100
/*引用类型,从上图可以分析出来,a指向地址a,b也是指向地址a因此b.b的值一改变其实就是同一个对象的值改变,因此会影响到变量a*/ let a = { b : 'b' } let b = a b.b = "c" console.log(a.b)
一般来说 引用类型有:数组,对象,函数
二、typeof相关
typeof主要是来区分值类型的具体类型,typeof一共6种情况
三、“==”和“ = = =”的区别
其实 “ = =” 只要值相等 则为true
“= = =”要值和类型都相等才为true
因此一个良好的习惯是用“= = =”来判断,除了判断a = = null。
a = = null相当于是
a = = = null || a = = = undefined
四、js内置函数(9种)
object array boolean number string function date regexp error五、json的理解
json就是一个对象型的数据格式。
json.stringify(对象)//对象=>字符串
json.parse(字符串)//字符串=>对象