JS面试题汇总(一)

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()用于连接多个字符或字符串,返回值为一个字符串

猜你喜欢

转载自blog.csdn.net/qq_44880095/article/details/113357305