`
qdch520
  • 浏览: 5294 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

===和==的区别以及类型检测(2012-02-29)

 
阅读更多

1、 javascript中==和===的区别:

==判断时会进行类型转换再比较,例如:"66" == 66 (true)  0 ==false (true) "0" == false (true)。null == undefined (true)

===判断时不进行类型转换。如果类型都是基本类型,则直接比较其值。如果是引用类型,则比较其引用的地址是否相同。即可以使用===来判断是否属于同一个对象。

 

2、javascript类型检测的方法:

 

typeof:最弱的一种检测方式。typeof对类型的检测只返回以下几种结果:number 、string、boolean、object、function及undefined。对于基本类型的检测还是可以满足的,但是对于对象类型的检测就有问题。检测 typeof null、typeof  {} 、 typeof  window 、typeof []、typeof new 都返回object。对于null类型 可以通过全等比较,value === null。

instanceof:

原理:运算符左侧对象的原型链是否和右侧对象的prototype属性是同一个对象。所以检测存在一个跨域的问题。例如:一个a页面中嵌套一个iframe。iframe引用页面b。a页面有变量 var arr = []。 在b页面中通过parent.arr instanceof Array ,返回结果是false。因为parent.arr的原型链和parent.Array对象的prototype属性引用同一个对象。但是与b页面中的Array对象的prototype属性无关。

Object.prototype.toString.call(o):

Object.prototype.toString( )

       When the toString method is called, the following steps are taken:
       1. Get the [[Class]] property of this object.
       2. Compute a string value by concatenating the three strings “[object “, Result (1), and “]”.
       3. Return Result (2)
即:1、获取对象的类名(对象类型)。2、将结果组装成[object 对象类名]并返回
这个方法即解决了instanceof存在跨页面(跨域)的问题,也解决了typeof局限性的问题。

分享到:
评论

相关推荐

    ----===============gyggvgj

    之后,根据特定条件,通过切换变频器与电机以及电源与电机之间的MC,使得变频器驱动的电机切换到工频运行,而下一台电机则由变频器启动。当停止条件满足时,从最先启动的电机(工频运行)开始停止。 ### 二、系统...

    torch-geometric==1.7.2安装

    torch_spline_conv-1.2.1-cp38-cp38-linux_x86_64.whl torch_sparse-0.6.9-cp38-cp38-linux_x86_64.whl torch_scatter-2.0.7-cp38-cp38-linux_x86_64.whl torch_cluster-1.5.9-cp38-cp38-linux_x86_64.whl ...

    logcheck的安装与使用(内含安装包)

    Apr 9 14:00:02 ohaha/kernel: Connection attempt to TCP 163.16.1.99:113 from 163.16.1.1:2731 Apr 9 14:14:53 ohaha/kernel: Connection attempt to TCP 163.16.1.99:113 from 163.16.1.1:2750 Apr 9 14:38:57 ...

    100以内的加减法与混合练习题集(排好版).doc

    这些练习题目覆盖了100以内各种不同难度的加减法,包括连续整数相减、接近整十数的加减、以及涉及进位和借位的计算。通过这些练习,学习者能够不断熟练掌握加减运算规则,提高心算能力,为以后更复杂的数学运算打下...

    YOLO-目标检测领域重要==one-stage==的模型

    YOLO-目标检测领域重要的one-stage模型 YOLO(You Only Look Once)是一种基于深度学习的目标检测模型,属one-stage模型家族。它的提出对目标检测领域产生了重要影响,现今基于YOLO的变体层出不穷。本文将对YOLOV1...

    grub4dos-V0.4.6a-2017-02-04更新

    2017-02-04(yaya) Ls command: Empty Folder returns false. 2016-12-08(yaya) 修正lz4、vhd不显示解压缩进度指示。增加lzma解压缩进度指示。 2016-11-09(不点) 0x8205 bit 5 = 1: 使checkkey闲置循环...

    valgrind-arm64.zip

    valgrind内存检测工具使用方法: adb push .\valgrind-arm\Inst\data\local\Inst /data/local #adb shell #cd /data/local/Inst /data/local/Inst # chmod -R 777 bin /data/local/Inst # chmod -R 777 lib LD_...

    一年级下册数学北京版第2单元检测卷(2)(含答案).pdf

    这份文档是针对一年级下册学习北京版数学教材的学生设计的第*单元检测卷,包含了计算题、比较题、连线题以及解决问题的题目,旨在巩固和检验学生对于数字、加减法和基本数学概念的理解与应用能力。接下来,我们将...

    系统灵敏度计算

    这些计算结果显示了不同频率范围内的系统灵敏度,以及如何通过增加低噪声放大器和适当选择天线增益来改善接收系统的性能。 #### 四、结论 通过对接收机灵敏度和噪声系数的理解及计算,我们可以有效地评估接收机在...

    yolov8细分类型飞机-鸟类-无人机检测训练模型+数据集

    yolov8细分类型飞机-鸟类-无人机检测训练模型, 包含1万多张yolo细分类型飞机-鸟类-无人机检测数据集,可区分具体飞机型号,数据集目录已经配置好,yolo格式(txt)的标签,划分好 train,val, test,并附有data.yaml...

    基于NSL-KDD数据集网络入侵检测模型并用KDDCup和NSL-KDD数据集进行模型评估python源码.zip

    使用NSL-KDD数据集训练一个网络入侵检测模型,并用KDDCup和NSL-KDD数据集进行模型评估。 使用环境 python == 3.7.9 scikit-learn == 0.19.1 numpy == 1.15.4 pandas == 1.1.2 文件介绍 ./data/ : 程序使用到的N...

    一次函数检测题及答案2精选.doc

    文档“一次函数检测题及答案2精选.doc”主要涵盖了八年级数学中一次函数的相关知识,以下是根据题目内容解析的一次函数关键概念和解题方法: 一次函数是初中数学中的基本概念,它通常表示为 y = kx + b 的形式,...

    免费局域网批量ping工具,支持批量ping. 路由追踪等功能

    2022-02-23 V1.0.2 a. 增加保存配置功能, 软件启动时设置保持与上次关闭时一致. b. 增加恢复默认按钮, 可以恢复程序界面到初次运行时状态. c. 增加保存窗口大小位置功能. 软件启动时窗口的大小和位置与上次关闭时...

    脚本可以批量去除XML文件中的<?xml version=“1.0“ encoding=“utf-8“?>

    脚本可以批量去除XML文件中的<?xml version=“1.0“ encoding=“utf-8“?>

    基于yolov10+gradio目标检测演示系统设计源码

    环境要求: torch==2.0.1 torchvision==0.15.2 onnx==1.14.0 onnxruntime==1.15.1 pycocotools==2.0.7 PyYAML==6.0.1 scipy==1.13.0 onnxsim==0.4.36 onnxruntime-gpu==1.18.0 gradio==4.31.5 opencv-python==4.9....

    suds-jurko-0.6.zip

    本文将详细探讨SUDS的一个特定版本——SUDS-Jurko 0.6,以及如何利用它来实现Python中的Web服务调用。 SUDS-Jurko是SUDS的分支,由Jurko Gospodnetić维护,旨在解决原版SUDS的一些问题并添加新功能。0.6版本是一个...

    浏览器检测的多种方式-javascript代码

    在本文中,我们将深入探讨如何通过JavaScript来检测不同的浏览器类型,并了解这些方法的实际应用场景与局限性。根据给定的信息,我们可以看到主要分为两个部分:一是通过`User-Agent`字符串进行浏览器识别;二是通过...

    sqlmap语句.doc

    `sqlmap`是一款强大的自动化SQL注入工具,用于检测和利用SQL注入漏洞。以下是对`sqlmap`中各个关键选项和功能的详细解释: 1. **Options(选项)**: - `-version`: 显示sqlmap的版本信息。 - `-h`, `-help`: ...

    iMPROVE .NET Deobfuscator v0.1.8 汉化版( NET脱壳测壳反混淆器)

    -各种混淆器检测和反混淆 -DotWall Obfuscator 字符串译码解码最大值支持 Changes Log v0.1.7 ================= -被添加 RPX -被添加到浏览器的内容菜单的选项 -重新设计主要窗口中 -添加拖N'拖放功能 -补充更新...

Global site tag (gtag.js) - Google Analytics