1.如何快速复制一份数组数据
- 通过slice
var arr = [1, 2, 3], copyArr;
copyArr = arr.slice();
- 通过concat
var arr = [1, 2, 3], copyArr;
copyArr = arr.concat();
2.如何快速删除数组的第二个元素
arr.splice(1,1)
3.如何连接数组转化字符串
arr.join()
4.对原型作用链的理解
原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链。每个对象都有自己的__poto__属性,每一个函数都有自己的prototype原型,而原型对象也是一个对象,他也有自己的原型对象,样就形成了一个由原型对象组成的链,被称为原型对象链。
5.怎么判断一个原型是否是这个对象的原型
使用: Object.prototype.isPrototypeOf()进行比较
var obj1 = {
name: "Lilei"};
var obj2 = Object.create(obj1);
obj1.isPrototypeOf(obj2); // true
6.this的指向
- 普通函数调用 指向全局对象Window
- 对象函数调用 哪个函数调用,this指向哪里
- 构造函数调用 指向new出来的实例
- apply和call调用 apply和call会改变传入函数的this
7.怎么阻止事件冒泡,阻止默认事件
event.stopPopagation()
event.preventDefault()
8.new Data转化为固定格式
var da = new Date();
var year = da.getFullYear()+'年';
var month = da.getMonth()+1+'月';
var date = da.getDate()+'日';
console.log([year,month,date].join('-'));
9.JavaScript的typeof返回哪些数据类型
- String
- Number
- Boolean
- Object
- Function
- undefined
- Symbol
10.Split join区别
- split()用于分割字符串,返回一个数组
- join()用于连接多个字符或字符串,返回值为一个字符串