设置 JavaScript 变量 = null,还是保留未定义?

2024-02-06

在 JavaScript 函数顶部声明变量时,最佳实践是将它们设置为 null 还是保留为“未定义”?换句话说,什么情况下需要下面的每个选项?

选项A:

var a = null,
    b = null;

选项B:

var a,
    b;

这取决于上下文。

  • “未定义”表示该值不存在。typeof返回“未定义”

  • “null”表示该值存在为空值。当你使用typeof要测试“null”,您将看到它是一个对象。其他情况下,当您将“null”值序列化到后端服务器(如asp.net mvc)时,服务器将收到“null”,但是当您序列化“undefined”时,服务器不太可能收到值。

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

设置 JavaScript 变量 = null,还是保留未定义? 的相关文章

  • 在 userCodeAppPanel 中看不到我的 javascript 代码

    这是来自 Google 电子表格中包含的脚本的代码 唯一的其他代码是onOpen它创建菜单和showDialog 功能 function showDialog userInterface HtmlService createHtmlOutp
  • Jquery文件上传插件进度条

    这个插件 https github com blueimp jQuery File Upload wiki管理网页中的文件上传 并且可以在上传过程中添加很多 UI 元素 您创建一个输入文件类型元素 然后绑定 js 文件 使用实例化代码和 w
  • 检测对给定 JavaScript 事件的支持?

    我有兴趣使用 JavaScript hashchange 事件来监视 URL 片段标识符的更改 我知道非常简单的历史 http code google com p reallysimplehistory 以及用于此目的的 jQuery 插件
  • 如何精确缩放已翻译的d3地图

    我有一张已翻译的地图 以使其正确适合画布 我正在尝试实现一种缩放它的方法 它确实有效 但是当您放大时它会远离中心 而不是以鼠标甚至画布为中心 这是我的代码 function map data total views var xy d3 ge
  • 如何将查询参数添加到守卫中的路由并将其传递给 Angular 4 中的组件?

    我在我的 Angular 4 应用程序中使用路由保护 如果条件满足并返回 true 我想向路由添加一个查询参数 这是我一直在研究的代码 Injectable export class ViewGuardService implements
  • 使用淘汰赛动态显示/隐藏元素

    我有一个表 有四列 即代码 名称 数量和价格 其中 我想动态更改数量列的内容 元素 通常 它应该显示其中显示数量的元素 当用户单击元素时 我想显示该元素 以便用户可以编辑数量 我正在尝试按照 示例2 来实现淘汰赛文档链接 http knoc
  • Webpack - 资产大小限制中的警告:以下资产超出了建议的大小限制 (244 KiB)

    当我在生产模式下运行 webpack 时 有资产规模限制 超出 的警告 我怎样才能运行而不出现这个错误 在我的项目中 我包含 css 并且我看到 webpack 构建中包含一些 node module 目录 但是如果我排除 css 的 no
  • UpdatePanel 启动脚本未执行

    我正在编写一个在 SharePoint 网站中使用的 ASP NET Web 部件 并尝试使用 UpdatePanel 来呈现查询结果 我想使用 JQuery 插件来修改从异步回发返回的表 但我无法让启动脚本在异步更新上执行 我发现这个帖子
  • 如何将OpenLayers多边形坐标转换为纬度和经度?

    我正在使用开放层 https openlayers org en latest examples draw freehand html绘制多边形并保存坐标的技术 这是我的代码 var raster new ol layer Tile sou
  • Flask 和 Reactjs 抛出 JSX 转换错误

    我已经开始将 ReactJS 与 Python Flask 后端结合使用 通过 Flask 渲染模板时 我在 Chrome 控制台中收到以下客户端错误 错误 找不到模块 jstransform visitors es6 templates
  • Jquery 子元素发生变化

    我正在尝试使用 jquery 在子元素 在本例中为 select 更改时触发事件 这是我的 HTML div class row addForm div class col lg 2 col md 2 col sm 3 col xs 6 d
  • 如何处理 setTimeout() 的多个实例?

    阻止创建 setTimeout 函数的多个实例 在 JavaScript 中 的最推荐 最佳方法是什么 一个例子 伪代码 function mouseClick moveDiv div 0001 mouseX mouseY function
  • Jquery Ajax 调用返回 403 状态

    我有一个 jquery Ajax 调用来实现会话的 keepalive 这个 keepAlive 方法将每 20 分钟调用一次 function keepAlive ajax type POST url KeepAliveDummy asp
  • Kendo 刷新 (DropDownList.refresh()) 不起作用错误未定义

    我试图在另一个 DropDownList 更改后刷新下拉列表 但 Refresh 方法未定义错误正在升级 我尝试再次读取数据源 它显示它正在加载 但数据仍然相同 帮助解决这个问题请 Code DropDownList1 change fun
  • 如何获取从 Express (Node.js) 中的表单传递的数据

    我想获取使用表单从页面传递的数据 并在重定向的页面中使用该数据 我的客户端有这个表格
  • 如何使 4.X Typescript 项目与旧版本的 Typescript(如 3.X)兼容?

    如何使基于 TS 4 X 构建的软件包与 3 X 兼容 例如 如果我有较新的版本 则使用新功能 否则使用any or unknown或旧版本支持的任何内容 有没有可能使用指令 https www typescriptlang org doc
  • 如何使用 API 中的数据填充选择的下拉元素 - ReactJS

    我对 React 还很陌生 我正在从 API 获取数据 当我检查控制台日志时可以看到数据 但是我不知道如何使用 map 创建一个新数组 然后选项元素可以使用该数组来显示货币代码 目前它填充下拉列表 但选项元素全部为空 结果显示为 NaN 下
  • javascript 闭包和对象引用

    我的情况有点晦涩难懂 主要是因为我认为我已经掌握了闭包 所以基本上我想要的是将集合重置为默认值 假设我有一个集合 它具有带有对象参数数组的构造函数 var c new collection x y z 然后集合定期更新 因为我没有保留数组的
  • 用于替换前 5 个数字的正则表达式,无论它们之间有什么?

    我正在努力实现以下匹配 Input 123 45 6789 123456789 1234 正则表达式尝试输出 d 5 123 45 6789 123456789 1234 d 2 3 123 45 6789 123456789 1234 d
  • 加载谷歌地图控件时是否有事件?

    我知道tilesloaded 但控件似乎在该事件之后加载 我基本上希望能够通过 jQuery 获取控件 但甚至找不到正确的监听 我也刚刚处理了 没有类似的事件 在控件可见之前空闲和tilesloaded触发 因此 基本上将 特殊控制 类添加

随机推荐

  • 如何在plolty3.10中绘制排序条形图

    我一直在尝试绘制一些商店销售数据的排序条形图 但无论我尝试什么 它都会给我未排序的数据 如何使用plotly绘制排序后的条形图 NOTE https community plot ly t sort bars in bar chart by
  • 字体文件未随 ASP.NET Bundle 一起加载

    在我的 ASP NET MVC 应用程序中 我使用 Bundle 来压缩 css 和 js 文件 问题是 在我启用优化模式后 字体未加载 BundleTable EnableOptimizations true 这是 C 代码 public
  • 如何使用 Go olivere/elastic 基于多个字段进行排序

    我几天来一直在尝试知道如何使用 Go 根据多个字段进行排序olivere elastic https github com olivere elastic 我正在尝试将其翻译成 Go sort name age desc 我尝试过使用New
  • Jupyter 中对 html 标签和从右到左语言的支持

    在 ipython 笔记本中 我们可以在 markdown 中添加 html 标签 从右到左语言的一个有用标签是 p text p 这方便地使文本右对齐 有没有办法在 Jupyter 中添加 html 标签或从右到左的段落对齐方式 可以这样
  • Xcode 8 / Swift 3:简单的 UIPicker 代码不起作用

    我有协议 class ViewController UIViewController UIPickerViewDelegate UIPickerViewDataSource 我有数据 let muteForPickerData minute
  • 将 javascript 封装在

    将 javascript 代码包装在其中有什么意义 这是我最讨厌的事情之一 这是一种古老的开发人员实践 旨在 保护 不理解的旧浏览器
  • SwiftUI:如何使用 NavigationViews 切换到新的导航堆栈

    我目前正在使用 SwiftUI Beta 5 我有一个工作流程 其中涉及浏览一系列视图 最后一个视图涉及将大量数据填充到应用程序中并结束特定工作流程的操作 下载数据后 用户应该能够启动新的工作流程 我想 忘记 旧的 NavigationVi
  • Hadoop Map-Reduce 操作在写入输出时失败

    我终于能够在 Hadoop 上启动 Map Reduce 作业 在单个 debian 机器上运行 但是 MapReduce作业总是失败并出现以下错误 hadoopmachine debian hadoop 1 0 1 bin hadoop
  • Localdate.format,未应用格式

    我的 FXML 中有一个 DatePicker 我需要日期才能将其插入到我的 SQL 数据库中 我想格式化我的日期 但它不起作用 LocalDate localDate purchased at getValue localDate for
  • 使用canvas和javascript读取图像的像素颜色

    我想知道是否可以使用画布和 javascript 扫描图像中的某些像素颜色并使用它们来制作地图 例如 寻找 ff0000并将其设置为地图上的数字1并设置 000000到 2 等等 制作如下地图 var map 1 1 1 1 1 1 0 0
  • Laravel Excel 上传和进度条

    我有一个网站 可以上传 xlsx文件 其中包含我的数据库的一些信息行 我阅读了 laravel excel 的文档 但看起来它只适用于进度条 如果您使用控制台方法 我不这么认为 我目前只使用纯 HTML 上传表单 还没有使用 ajax 但要
  • 我在哪里可以获得 admob jar?

    我确信这是一个愚蠢的问题 但我在任何地方都找不到链接 他们的 wiki 只是说 将 AdMob Jar 文件复制到该 libs 目录中 但不知道从哪里得到它 有一种更简单的方法来获取 AdMob SDK 只需从 Google AdMob 广
  • AngularJS - $emit/$on 或范围继承哪个更好?

    假设我得到了以下 HTML 结构
  • 如何在 html 上设置processingJS?

    如何在 html 页面上运行处理 JS 脚本 有人可以给我发送一个测试 html 和一个辅助代码文件以供我了解吗 假设我想运行这个矩形 rect 50 50 50 50 要添加到 Kevin 的答案中 如果您想使用带有 javascript
  • Maven发布更新政策

    我看到releases setting http maven apache org ref 3 2 2 maven settings settings html class releases在maven设置中有一个updatePolicy
  • 语义 UI - 更改主题

    我无法在语义 UI 中选择主题 我尝试按照中提供的说明进行操作工作流程部分 http learnsemantic com guide expert html manual install文档的 文件位于examples 项目的文件夹对于测试
  • QML - 当我不接受鼠标按下事件时无法获取鼠标释放事件

    我想将 onPressed 事件分派给 QML 树中的后续对象 我已指示 mouse accepted false 和propagateCompositedEvents true 但我希望保持 onreleased 事件在顶级元素上工作 这
  • 在 Sass 中乘以百分比

    如何在 Sass 中以合理的方式将两个百分比相乘 例如 考虑以下声明 num1 50 num2 25 num3 num2 num1 Here num3休息 我可以写什么表达方式num3定义为12 5 弄清楚了 首先 您需要将其中一个百分比转
  • 使用API​​将数据插入sqlite3数据库

    我正在尝试将 Web API 中的数据插入到我的数据库中 我在 python 3 7 2 上使用 sqlite3 但找不到任何有关如何执行此操作的教程 到目前为止我所有的代码是 import requests sqlite3 databas
  • 设置 JavaScript 变量 = null,还是保留未定义?

    在 JavaScript 函数顶部声明变量时 最佳实践是将它们设置为 null 还是保留为 未定义 换句话说 什么情况下需要下面的每个选项 选项A var a null b null 选项B var a b 这取决于上下文 未定义 表示该值