zoukankan      html  css  js  c++  java
  • js基础

    js有5种原始类型,一个对象类型:

    5种原始类型:null  undefined number string boolean 

    1种对象类型:object(Function,Date,Array,Number,Boolean,String)

    ==和===区别:

    ===,类型不同直接返回false

    ==,有隐试转换,比如:

    '2'==2,true, 字符串转换为数字

    true==1,true,布尔类型转换为数字

    new String('1')==1,true,对象转换为其他基本类型

    typeof适合基本类型及function检测,遇到null失败:

    typeof null 结果: "object"

    typeof NaN  结果:"number"

    typeof Function 结果:"function"

    typeof true 结果:"boolean"

    typeof 1 结果:"number"

    typeof '1' 结果:"string"

    typeof [1,2] 结果:"object"

    typeof new Object() 结果:"object"

    typeof undefined 结果:"undefined"

    instanceof适合自定义对象,也可以检测原生对象,在不同iframe和window间检测失效:

    obj instanceof Object,要求左边必须是一个对象,右边必须是个函数对象或者函数构造器,否则报错。

    instanceof 原理:左边的对象的原型链上是否有右边构造函数的prototype属性

    Object.prototype.toString,通过{}.toString拿到,适合内置对象和基本类型,遇到null,undefined失效。

    Object.prototype.toString.apply([]) 结果:"[object Array]"

    Object.prototype.toString.apply(undefined) 结果:"[object Undefined]",ie6/7/8 返回 "[object Object]"

    Object.prototype.toString.apply(null) 结果:"[object Null]",ie6/7/8 返回 "[object Object]"

    原生事件:

    DOM事件:click mouseover mousedown focus blur load....

    BOM事件:resize  beforeunload storage orientationchange....

    自定义事件:

    本质:观察者模式

    优点:跳出原生事件的限制,提高封装的抽象层级

  • 相关阅读:
    Linux部署之NFS方式安装系统
    VMware Workstation Pro学习探索(Linux,Docker)
    sqlserver最大内存设置太小导致无法启动sql服务
    Docker下安装Sqlserver(mssql)
    docker错误:net/http: TLS handshake timeout;解决方案
    Linux和Docker常用命令
    Linux及Docker学习记录
    .net core视图预编译
    oracle的一些简单语法
    Oracle安装连接常见错误
  • 原文地址:https://www.cnblogs.com/xiaotaiyang/p/5712793.html
Copyright © 2011-2022 走看看