【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();