变量===未定义与typeof变量===“未定义”

2024-02-04

The jQuery 核心风格指南 https://contribute.jquery.org/style-guide/js/#type-checks建议两种不同的方法来检查变量是否已定义。

  • 全局变量:typeof variable === "undefined"
  • 局部变量:variable === undefined
  • 特性:object.prop === undefined

为什么 jQuery 对全局变量使用一种方法,对局部变量和属性使用另一种方法?


对于未声明的变量,typeof foo将返回字符串文字"undefined",而身份检查foo === undefined会触发错误“foo 未定义”.

对于局部变量(您可以know在某处声明),不会发生此类错误,因此需要进行身份检查。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

变量===未定义与typeof变量===“未定义” 的相关文章

随机推荐

  • 在虚拟服务器上运行外部程序

    我想将可通过命令行 Linux 操作系统 访问的小程序安装到服务器并使用 PHP 运行它们 我想在我的机器上安装 Apache vhost 有没有办法在我的虚拟服务器 我的系统上运行这些外部应用程序 以便我可以尝试 PHP 调用 我们一直都
  • Jenkins CI:如何在 SVN 提交上触发构建

    我需要设置哪些插件和插件功能才能让我的 Jenkins 作业在代码提交到 SVN 项目时触发构建 我已经安装了标准 SVN 插件以及 SVN 标记插件 但我没有看到任何允许触发器配置的新功能 有两种方法可以解决这个问题 我最初推荐第一个选项
  • Rust 中比较函数的相等性

    我有一个函数 它接受一个数字作为参数 然后根据该数字返回一个函数 根据许多不同的情况 它可能会返回约 50 个函数中的任何一个 并且它应该返回哪个函数的情况变得非常复杂 因此 我想构建一些测试以确保返回正确的函数 到目前为止我所拥有的看起来
  • 更强大的点版本(重复)

    我知道如何录音q到寄存器中 但我想知道是否可以设置一些东西来快速调用最后一个录音 就像 调用最后一个简短的编辑命令 参见here https stackoverflow com questions 12566235 what can the
  • 正则表达式匹配具有两个或多个特殊字符的强密码

    我需要使用 javascript 正则表达式匹配密码字段 并满足以下要求 至少 15 个字符 两个或多个小写字母 两个或多个大写字母 两位或更多数字 以下两个或多个特殊字符 我有一个正则表达式可以处理大多数情况 15 2 d 2 a z 2
  • phpmyadmin 令牌不匹配导致长时间闲置

    我安装了phpMyAdmin 4 0 4 1在我本地的开发环境中 我设置了auth type to config 我还通过此设置提供身份验证要求 cfg Servers i auth type config cfg Servers i ho
  • Google Chrome 强制下载“f.txt”文件

    更新到 Chrome 40 0 2214 111 后 当我访问某些 Google 相关网站 例如http youtube com http youtube com并在视频之前看到广告 浏览器下载一个名为f txt 我没有安装任何 adblo
  • 未找到符号:_libintl_gettext

    我正在尝试使用 C 创建一个 NodeJS 模块node gyp 该软件包依赖于 GNU 的 Gettext 库 我目前使用的是 Mac OS X Mountain Lion 我尝试过通过手动 Homebrew 甚至 Fink 自己安装该软
  • Apple 的 iMessage 模板或向现有应用程序添加扩展之间有什么区别?

    我注意到 iOS 10 消息应用程序的创建有所不同 如果您使用创建一个新项目iMessage Application选择新项目的模板 Xcode 将创建两个目标 一个应用程序和一个扩展 但该项目无法运行 从第二张图片可以看出 底部的目标选择
  • 虚拟继承是否强制基类默认可构造?

    在下面的代码中 编译器正在请求基址class X to be 默认可构造 但是 如果我删除virtual来自继承的关键字类节点 会员的访问权限m x当然 变得含糊不清 但是默认构造函数 for class X不再需要 这是什么原因呢 inc
  • Facebook Open Graph:将网站与 Facebook 页面关联

    我想在我的 Facebook 页面和我的网站之间建立关系 我已经设置了它们 并将 OG 标签添加到网站中 然而 Facebook 页面和我的网站之间似乎没有任何联系 这fb admin标签设置为我的 Facebook 用户 ID 但我想与我
  • ANTLR 歧义问题

    我有这个语法 grammar MyGrammar prog lexeme lexeme TOK INTLIT 0 9 Identifiers Letter Letter Digit fragment Letter a zA Z fragme
  • ASP.NET 会员注册问题

    我在会员资格方面遇到了困难 好吧 这真的很奇怪 我可以注册一个用户 我可以注册 我可以登录 但是 当我去注册另一个用户时 该用户没有保存在数据库中 我得到了一个 当用户尝试登录时 会员凭证验证失败事件 我假设是因为用户从未被保存 这是我用来
  • 将 Java 回调函数传递给 JSNI 方法?

    我想将成功和失败回调 Java 函数传递给 JSNI 方法 这是我到目前为止所得到的 但它不起作用 我该如何修复它 package c public class A test new Callback
  • 如何清除 ttk.Treeview 小部件中的项目?

    ing scroll Scrollbar window1 frame1 orient VERTICAL ingredients ttk Treeview window1 frame1 yscrollcommand ing scroll se
  • 当我打开模式时添加下一个和上一个按钮

    我是新手 我想问您是否可以帮我将下一个和上一个按钮添加到我的模式中 这些图片不是画廊形式的 我是添加 div 还是像这样添加一些 javascript 你能推荐一些吗 var modal document getElementById my
  • 带标题的多个图像文件上传

    我设法得到了字幕foreach循环但现在我面临一个新问题 由于嵌套循环 我的数据库中出现重复项 请检查下面的代码 JavaScript window onload function if window File window FileLis
  • Python Tkinter,使用循环设置按钮回调函数

    我正在编写一个显示按钮网格的程序 当按下按钮时 我希望它将网格中按钮的位置 行列 打印到控制台 这是我所拥有的 import Tkinter as tk class board tk Tk def init self parent None
  • DateFormatter 返回错误的时间[重复]

    这个问题在这里已经有答案了 我对 Date 进行了扩展 返回格式化字符串 extension Date var myFormattedDate String let formatter DateFormatter formatter tim
  • 变量===未定义与typeof变量===“未定义”

    The jQuery 核心风格指南 https contribute jquery org style guide js type checks建议两种不同的方法来检查变量是否已定义 全局变量 typeof variable undefin