2019年2月26号前端招聘面试题目

前端面试复习  原文http://icaoguo.com/?p=85

prototype 节省内存  所有实例化的对象的方法都指向同一个内存  普通实例化都会额外划出需要的内存

闭包 闭包就是能够读取其他函数内部变量的函数  像C# 的set get 函数内的私有方法开放端口给外界访问 

闭包实现自增函数

var main = function(){

var data = 0;

return function(){

return data++;

}

}

var m = main();

利用了闭包和垃圾清除机制,只要一个函数处于被引用状态,就不会被回收。

单元测试  最小可测试的范围  可能是一个函数  一个类

测试用例  是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果  表格形式

replaceAll

str.replace(/some/g,‘’);

 数组排序

[{age: 1},{age: 4},{age: 3},{age: 2}].sort(function(a,b){ return a.age-b.age;})

箭头函数

var a = {

name : "222",

fun : function(){

var fn =()=> {

console.log(this.name);

};

return fn();

}

}

a.fun.call({name: "2333"});// 2333

a.fun();// 222

js 执行顺序  单线程

setTimeOut会被放到最后线程池执行  先放先执行

继承  寄生继承  可以得到父类的属性和原形链  且不会像Cat.prototype = new Animal();

子类不会初始化2次实例方法 属性

function Cat(name){

  Animal.call(this);

  this.name = name || 'Tom';

}

(function(){

  //创建一个没有实例方法的类

  var Super = function(){};

  Super.prototype = Animal.prototype;

  //将实例作为子类的原型

  Cat.prototype = new Super();

})();

var cat = new Cat();

posted @ 2019-02-27 01:51  大赚佬  阅读(231)  评论(0编辑  收藏  举报