高级话题(面向对象,作用域,闭包,设计模式等)
- 常用Javascript类定义的方法有哪些?
主要有构造函数原型和对象创建两种方法。原型法是通用老方法,对象创建是ES5推荐使用的方法.目前来看,原型法更普遍.
参考答案:对象创建
var Person = {
name: 'michaelqin',
sayName: function(){ alert(this.name); }
};
var person = Object.create(Person);
person.sayName();
- Javascript类继承的方法有哪些
- 原型链法
- 属性复制法
function Animal() { this.name = 'animal'; } Animal.prototype.sayName = function() { alert(this.name); }; function Person() {} for(prop in Animal.prototype) { Person.prototype[prop] = Animal.prototype[prop]; } // 复制动物的所有属性到人量边 Person.prototype.constructor = 'Person'; // 更新构造函数为人 }
- 构造器应用法
- caller, callee和arguments分别是什么
caller,callee之间的关系就像是employer和employee
1.队列方法 shift() 和 push() ,可以像使用队列一样使用数组
队列方法 同时使用unshift() 和 pop() 方法,可以从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项
split/join, slice/splice/concat, sort/reverse, map/reduce, forEach, filter
- 一组属性相关的: defineProperty, hasOwnProperty, propertyIsEnumerable
- 常用设计模式的实现思路,单例,工厂,代理,装饰,观察者模式
- 列举数组相关的常用方法
- 列举字符串相关的常用方法