1.this的指向性
this总指向调用者,如果有new关键字,this指向new出来的那个对象,在事件中,this指向触发这个事件的对象
2.new操作具体干了什么
创建一个空对象,并且this变量引用该对象,同时还继承了该函数的原型;
属性和方法被加入到this引用的对象中;
新创建的对象由this所引用,并且最后隐式的返回this
3.js数组和对象的遍历方式
for循环---循环每进行一次,就检查一下数组长度,速度较慢;
for in循环---需要分析出数组的每一个属性,比较吃性能;
forEach-----不能遍历对象,不能用continue、break跳出循环,return是跳出本次循环
4.map和forEach的区别
forEach默认有三个参数array、item、index
map会返回一个数组,需要返回值
5.js定义类的四种方法
工厂模式,构造函数、原型、构造函数和原型结合
6.js实现继承的三种方法
借用构造函数、对象冒冲、组合继承
7.箭头函数和普通函数区别
this对象就是定义时所在的对象,不是使用时的所在对象
不能当构造函数,不能使用arguments,不能使用yield命令
8.js动画和css动画区别
css:性能好,浏览器会对CSS3进行一些优化。代码比较简单
缺点:兼容性差,动画控制不够灵活
js:弥补了CSS的缺点
9.对作用域链的理解
作用域链是保证执行环境里有权访问的变量和函数是有序的,作用域链只能向上访问,访问到window对象即被终止,不允许乡下访问
10.ajax原理
在用户和服务器中间加个中间层,由XmlHttpRequest对象来向服务器发送异步请求,从而获得服务器的数据,然后用js操作DOM而更新页面