欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js面试,变量计算等相关问题

程序员文章站 2022-04-22 23:25:32
js面试,变量计算等相关问题 一、引用类型和值类型 什么是值类型,可以这么理解,值类型是有2块内存分别保存变量名和内容。 什么是引用类型,那就是有3块内存分别保存变量,地址,...

js面试,变量计算等相关问题

一、引用类型和值类型
什么是值类型,可以这么理解,值类型是有2块内存分别保存变量名和内容。
什么是引用类型,那就是有3块内存分别保存变量,地址,和内容。对于引用类型来说变量是指向地址而非直接指向值,多了一个中间层,所以叫引用。
用图表示就是:
值类型

指向变量名内容

引用类型

变量名a地址内容变量名d

代码表达就是:

/*值类型,值独立存储,相互不影响*/
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种情况

typeof undefined //undefined typeof ‘abc’ //string typeof 122 //number typeof true //boolean typeof {} //object typeof [] //object typeof null //object typeof console.log //function

三、“==”和“ = = =”的区别
其实 “ = =” 只要值相等 则为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(字符串)//字符串=>对象