zoukankan      html  css  js  c++  java
  • 常考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. 对象类型和原始类型的不同之处?函数参数是对象会发生什么问题?
    答: 原始对象存放的是值;对象类型存放的是指针;

  • 相关阅读:
    图片懒加载原生写法。
    ES6新声明
    下拉刷新上拉加载
    angular动画
    angular路由切换后 轮播以及iscrollJs失效的问题
    ui-route多级嵌套时的默认显示。
    iscroll.js的基本布局
    angular ng-route和ui-route
    require.js JQ
    Cookie&Session
  • 原文地址:https://www.cnblogs.com/xiaozhumaopao/p/11119097.html
Copyright © 2011-2022 走看看