• 常考JS题笔记


    ### 1. 原始类型有哪几种?null 是对象吗?

    答: Null,undefined,Number,String,Blooean,symbol
    1)【理解和使用ES6中的Symbol】【https://www.jianshu.com/p/f40a77bbd74e】
    2)null不是对象,但是typeof会把其归为对象
    console.log(typeof null) // `000` 开头代表是对象,然而 `null` 表示为全零,所以被误判为对象
    console.log(null instanceof Object)

    let c = 2;
    let d = Number(c)
    let e = new Number(c)
    console.log(typeof c); //number
    console.log(c instanceof Number); //false
    console.log(d instanceof Number); //false
    console.log(e instanceof Number); //true
    明明都是num,而且都是2,只是因为第一个不是对象,是基本类型,所以直接返回false,而new是封装成对象,所以true。
    这里要严格注意这个问题,有些说法是检测目标的__proto__与构造函数的prototype相同即返回true,这是不严谨的,检测的一定要是 [对象] 才行
    let f = [];
    console.log(f instanceof Array); //true
    复杂类型是直接生成构造函数的,所以不会像基本类型一样两种情况,这个可以放心用。

    [JS的instanceof到底是有多坑?][https://www.imooc.com/article/69870]

    ### 2. 对象类型和原始类型的不同之处?函数参数是对象会发生什么问题?
    答: 原始对象存放的是值;对象类型存放的是指针;

  • 相关阅读:
    tinymce原装插件源码分析(二)-link
    tinymce原装插件源码分析(一)-hr
    pyinstall 常见错误
    matlab Time-domain analysis 渐进式或者实时获取仿真值
    初识python和pycharm
    自定义指令详解
    Vue核心知识一览
    多维数组 转化为 一维数组
    js面试之数组的几个不low操作
    js如何操作或是更改sass里的变量
  • 原文地址:https://www.cnblogs.com/xiaozhumaopao/p/11119097.html
Copyright © 2020-2023  润新知