js基础题---每日5道

94 阅读2分钟

1、JavaScript有几种数据类型

 1.String    字符串类型  
 2.Number    数字类型
 3.Object    对象类型
 4.Boolean   布尔值类型
 5.undefined 未定义类型
 6.null7.symbol    简单类型
 8.bigInt    最大类型

2、JavaScript最大安全数字与最小安全数字?

Number.MAX_SAFE_INTEGER =   2^53 -1  = 9007199254740991  

console.log(Number.MAX_SAFE_INTEGER)
// 9007199254740991

Number.MIN_SAFE_INTEGER =  -(2^53-1)  = -9007199254740991

console.log(Number.MIN_SAFE_INTEGER)
// -9007199254740991

3、 深拷贝和浅拷贝的区别

补充:深拷贝是层层拷贝,浅拷贝只拷贝一层

深拷贝:对象A被拷贝了之后,生成对象B,在修改对象A的时候, 对象B 并未跟着一同改变,则是深拷贝;

浅拷贝:对象A被拷贝了之后,生成对象B,在修改对象A的时候,对象B 跟着一同改变,则是浅拷贝;

4、 闭包是什么

闭包是一个作用域(函数)可以 访问另一个作用域(函数)的私有变量 优点:有效的避免变量污染的问题,且能使外部访问到内部变量; 缺点:使用不当容易造成内存泄漏的问题;

 function a(){  
  let  num = 0;
  // 这是一个闭包,去访问上面的num
     return function(){
         return ++num;
     }
 }
 
 const b = a();
 console.log('a',a());
 console.log('b1',b());//1
 console.log('b2',b());//2

5、 原型链是什么(简约版)

  1)构造函数的property和实例的_proto_指向的是同一个地方;
  2)构造函数中所有创建的对象(Object)和函数(Function)都是这个构造函数的实例
  3)__proto__的路径叫原型链
  4property和constructor是成对出现的
  5Object.property不是原型链的终点,因为在Object.property中还有一层__proto__指向null
  6property和__proto__指向的对象叫做原型对象
  
  

原型链的详细版: 第一位大佬:

juejin.cn/post/700741…

第二位大佬:

juejin.cn/post/693449…

在浏览文章的过程中,发现了作者@Sunshine_Lin本文也是跟着大佬的题目一道一道做的喔