口试题总结(一)

手机软件开发 2024-9-20 10:04:09 84 0 来自 中国
js有几种范例

两种:简单数据范例和引用数据范例
简单数据范例包罗:Number、String、Boolean、Null、 Undefined、Symbol(ES6)
引用数据范例包罗:数组,对象,函数
简单数据范例与引用数据范例的区别

简单数据范例包罗:Number、String、Boolean、Null、 Undefined、Symbol(ES6)
引用数据范例包罗:数组,对象,函数
区别:简单数据范例是直接按值存放在栈中,也可以直接按值访问;引用数据范例是存放在堆里的对象,它在栈中存放的是堆里面的引用地点,访问也是访问引用地点,不是直接访问值。
堆和栈的区别

栈内存:引擎实行代码时工作的内存空间,除了引擎,也用来生存根本值和引用范例值的地点。 栈内存是内存中用于存放暂时变量的一片内存块。当声明一个根本变量时,它就会被存储到栈内存中。
栈内存的特点:存取速度快,但不机动,同时由于结构简单,在变量利用完成后就可以将其开释,内存接纳容易实现。
堆内存:用来生存一组无序且唯一的引用范例值,可以利用栈中的键名来取得。
我们在访问引用范例时,须要在栈内存中查找 对应的地点,在去堆内存中取得真正的值,访问速度天然不及栈内存。
堆内存的特点:利用机动,可以动态增长或删除空间,但是存取比力慢
深浅拷贝以及实现深浅拷贝的方法

深拷贝:拷贝数据,改变旧对象的数据的时间,新对象的数据不会改变
浅拷贝:拷贝引用地点,改变旧对象的数据的时间,新对象的数据也会跟着改变
实现深拷贝的方法: 1. JSON.parse(JSON.stringify())  2. 递归for-in  3. jQuery $.extend()  4. _.cloneDeep()
实现浅拷贝的方法: 1. 剩余(扩展)运算符  2. concat() 3. Object.assign()  4. slice()
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 22:33, Processed in 0.137153 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表