1、js的基础类型?undefined、null、number、boolean、string 引用类型 Object、array、function、data (null表示"没有对象",即该处不应该有值。undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。)
2、判断数组的方式有哪些?
2.1 PS:instanceof的实现原理(判断左边对象的原型链上是否存在右边原型)
var array = []; array instanceof Array;
2.2 PS:instanceof和constructor判断的变量,必须在当前页面申明的,比如,一个页面(父页面)一样一个框架,框架中引入一个页面(子页面),在子页面中声明的array,并将其复制给父元素的一个变量,判断该变量,将返回false。
var array = []; array.constructor === Array
2.3
var array = []; array.__proto__.constructor === Array;
2.4
var array = []; Array.isArray(array);
2.5 toString(最常用)考虑Array.isArray的兼容性问题
if(!Array.isArray){ Array.isArray = function(arg){ return Object.prototype.toString.call(arg)==='[object Array]'; } } var array = []; Array.isArray(array);
3、箭头函数与普通函数的区别
1、箭头函数没有prototype属性
2、箭头函数的this指向定义时外层第一个普通函数的this
3、不能直接修改箭头函数的this
4、当箭头函数外层没有普通函数时,它的this在严格和非严格模式都是指向window。
5、箭头函数没有外层函数直接使用arguments会报错
6、箭头函数有外层函数时,arguments继承自外层函数的arguments
7、使用new调用箭头函数会报错
8、箭头函数不支持重名参数
来源:https://www.cnblogs.com/taochengyong/p/12162209.html