记一次面试中遇到的问题。
程序员文章站
2022-05-11 10:51:05
...
1.假设我用构造函数fun构造出一个新对象obj,构造之后在fun的原型对象上加一个新的属性age为10,请问obj.age是什么?
function fun(){
this.name = 'a'
}
var obj = new fun();
fun.prototype.age = 10;
obj.age = ?
答案为obj.age = 10;我的理解是因为obj. _ proto _ (实例对象的原型)指向的是fun.prototype(构造函数的实例原型),是一个对象,指向的是地址。
2.在ie浏览器状态下获取实例对象的原型对象用什么方法?
答案为Object.getPrototypeOf(obj);ie不提供这个–proto–是为了安全不让程序员获取到Object原型对象去修改。
3.sass循环用法
sass可以用@for,@while,@each作为循环。
4.react中什么时候用shouldComponentUpdate?
shouldComponentUpdate用于提高组件的性能,接受四个参数,props,nextProps,state,nextState,可以根据这些做判断,return true or false控制组件是否渲染。
5.es6有哪些新特性?Map和Set新数据类型中新增项的方法?
答:首先我说了promise,被否决了,面试官小哥哥说这是es5就有的。。- -..
一些较简单的,比如箭头函数,let和const,class类,字符串模板,解构赋值
然后比较恶心的什么Generator,yield啥的。
实用的module,
还有新的数据类型Set,Map,这个我在面试别人的时候,很多人都不知道,不过确实不常用。。Set新增用add,Map用set。
其他还有一些数组对象啥的新的api。
6.kissy和seajs的区别?