一.JavaScript的数据类型分为俩种,一种是基本数据类型,一种是引用数据类型?
1.基本数据类型
基本数据类型分别是 Undefined、Null、Boolean、Number、String, Symbol 类型。
2.引用数据类型
引用数据类型统称为 Object 对象,主要包括对象、数组、函数、日期和正则等等。
二.什么是堆?什么是栈?它们之间有什么区别和联系?
在数据结构中,栈中数据的存取方式为先进后出。而堆是一个优先队列,是按优先级来进行排序的,优先级可以按照大小来规定。
在操作系统中,内存被分为栈区和堆区。栈区一般储存基础数据类型,堆区一般储存引用数据类型
栈区(stack):由操作系统自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由垃圾回收机制回收。
堆和栈的区别:
使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。
使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。
三.说几条写 JavaScript 的基本规范?
1一个函数作用域中所有的变量声明应该尽量提到函数首部,声明时如果变量没有值,应该给该变量赋值对应类型的初始值,便于他人阅读代码时,能够知道变量对应的类型值。
2代码中出现地址、时间等字符串时需要使用常量代替。
3在进行比较的时候吧,尽量使用'===', '!=='
4不要在内置对象的原型上添加方法,如 Array, Date。
5switch 语句必须带有 default 分支。
6for 循环、if 语句必须使用大括号。
四..for … of循环
in的区别如下:for … of是作为ES6新增的遍历方式,允许遍历一个含有iterator接口的数据结构并且返回各项的值。它与for …
for … of获取的是迭代器返回的value值, for … in 可以获取对象的键名。
对于数组的遍历,for … in会返回数组中所有可枚举的属性, for … of只返回数组的下标对应的属性值