详细

【JS系列】javascript额外篇

  • 经过了三天的js基础的讲解,我们不可能面面俱到,因此有了这篇附加的博文,主要讲一些我认为面试题和额外的补充知识点

面试过程中常见的题型

  • js原型
  • 每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型对象上继承属性和方法。
  • js闭包?
  • 闭包,其实是指有权访问另一个函数作用域中变量的函数。
  • js数组主要有哪些方法
  • shift()
  • unshift()
  • pop()
  • push()
  • concat()
  • splice()
  • reverse()
  • sort()
  • slice()
  • js迭代的方法
  • every()
  • filter()
  • forEach()
  • map()
  • some()
  • js去重和排序
  • 去重(随便写的,可能性能上有待优化)
var array = ['a','b','c','a','d','cd'];
function check(num,arr){
var flag = false;
for(var i=0;i<arr.length;i++){
if(arr[i] === num){
flag = true;
break;
}
}
return flag;
}
function removeDouble(arr){
var _temp = [],i=0;
arr.forEach(function(item,index){
if(i === 0){
_temp[i++] = item;
}else if(!check(item,_temp)){
_temp[i++] = item;
}
});
return _temp;
}
console.log(removeDouble(array));
  • 排序
var arr = [2,9,7,6,9,3,4,1];
arr.sort(function(a,b){
return a>b?1:-1;
})
console.log(arr);
  • 字符串的方法substring和substr区别
  • substring(a,b)和substr(a,b) 参数1都表示截取子串的起始位置,前者参数2表示子串最后一个字符的后面字符的下标,后者参数2表示返回的字符个数。
  • 正则表达式(可查看相关文档这里就不赘述了)
  • 常见的Date方法
var date = new Date();
date.getTime();
date.getYear();
date.getFullYear();
date.getMonth();
date.getDate();
date.getDay();
date.getHours();
date.getMinutes();
date.getSeconds();
date.getMilliseconds();