js面试题

基本类型:Number,String,Boolean,Null,Undefined

引用类型:Array,Function

 

基本类型和引用类型的区别

引用类型值保存在堆里,基本类型是存放在栈里

引用类型值可添加属性和方法,而基本类型值则不可以

 

判断类型方式

typeof

instanceof

Object.prototype.toString.call()

 

栈和堆的区别

栈由编译器自动分配释放空间,堆一般由程序员分配释放

栈存放在一级缓存中,调用完毕立即释放;堆则是在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定

 

数组常用方法

改变原数组

shift:删除第一个元素

unshift:向数组开头添加元素

pop:删除最后一个元素

push:向数组末尾添加元素

reverse:数组倒序排序

sort:数组正序排序

splice: splice(start,length,item)删,增,替换数组元素

不改变原数组

concat:连接多个数组

join:将数组所有元素以字符分隔

slice:slice(start,end),切割数组

map,filter,some,every等不改变原数组

 

数组排序

1.   reverse()倒序

2.   sort()正序

3.   冒泡排序

var arr = [1, 9, 4, 50, 49, 6, 3, 2]; function test(){ for (var i = 0; i < arr.length - 1; i++){ for (var j = i + 1; j < arr.length; j++){ var tempi = arr[i]; // 获取第一个值,并与后一个值比较 var tempj = arr[j]; if (tempi > tempj){ arr[i] = tempj; arr[j] = tempi; // 如果前一个值比后一个值大,那么相互交换 } } } console.log(arr); // return arr } test(arr); // [1, 2, 3, 4, 6, 9, 49, 50]

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsspxw.html