关于面试?

冷暖自知 提交于 2020-01-07 17:15:19

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、箭头函数不支持重名参数

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!