JavaScript 关键字“with”真的被弃用了吗?

2023-12-10

使用JavaScriptwith长期以来,语句一直被认为是不好的编码实践,并被建议不要这样做。

这一页表明with已被弃用,并且在严格模式下会抛出错误,我的浏览器在使用时会抛出错误with在严格模式下,Google Closure Compiler 会抛出错误,表明严格模式不允许with:

JSC_USE_OF_WITH: The with statement cannot be used in strict mode.

根据MDN,建议避免使用with,但从今天开始,似乎并没有真正被弃用, and 它似乎没有包含在严格模式的代码限制示例中.

这显得有些矛盾和混乱。那么,就是with真的被弃用了吗?


TC39 小组(发布 ECMAScript 规范的人)的官方立场很有洞察力:

我们为什么不弃用功能呢?

弃用在网络上不起作用。因为我们无法删除不良特征,开发人员没有什么动力仅仅因为某个地方的某人不喜欢某个功能而停止使用它。将功能标记为“已弃用”而不删除它们是毫无意义的。

http://tc39wiki.calculist.org/about/faq/#deprecate

因此,它可能永远不会被 ECMAScript 标准正式弃用;然而,社区内的共识是with如果您选择进入严格模式和/或选择使用某些严格编译器,那么它就足够强大,以至于大玩家(即编译器和引擎实现者)选择将其视为已弃用。

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

JavaScript 关键字“with”真的被弃用了吗? 的相关文章

  • Jquery获取选中的复选框

    您好 我想获取页面中选定复选框的列表 实际上我真正需要的是获取复选框旁边的元素的文本 该元素是一个 html 元素 li 代码如下 但它不起作用 这是我当前的 jQuery document ready function target cl
  • createHTMLNotification() 替换

    我创建了一个 Chrome 扩展程序 其中使用createHTMLNotification 在所有内容之上显示一个窗口 然而 从 Chrome 28 开始 谷歌决定放弃createHTMLNotification 完全 为什么 谷歌 为什么
  • jQuery mobile 中的文本区域高度和宽度?

    我修复了 jQuery mobile 中文本区域元素的高度 并且在纵向中得到了完美的高度和宽度 但在横向中宽度没有放大 谁能帮我 提前致谢 HTML
  • Vue 3 Composition API 提供/注入在单文件组件中不起作用

    我正在使用 Composition API 在 VueJS 3 中创建一个库 我实现了提供 注入 如中所述docs https v3 vuejs org guide composition api provide inject html i
  • 如何在没有 jQuery 的情况下删除 Javascript 中的元素

    我试图通过以下方式从 DOM 中删除 Div a 标签嵌套在其中 我想我正在寻找的是 jQuery 的纯 Javascript 版本 div remove 这是html设置 div a href Click me to remove the
  • Angular.js:如何从无序列表中获取 orderBy 或过滤器来工作?

    尝试根据价格和评级 在返回的对象中 进行排序 我宁愿用 ng click 和 li 来代替使用选择菜单 有没有办法做到这一点 我环顾四周 这是我能想到的最接近的 ul class restaurant filter li i class i
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • LeafleteachLayer函数不会迭代所有Layer

    使用 GeoJSON 数据数组创建一些标记 getJSON GetLocationsServlet function data L geoJSON data onEachFeature onEachFeature addTo mymap G
  • 用于选择特定 div 中具有特定类的锚元素的 jQuery 选择器是什么

    我有一些这样的代码 我想选择每个 a 带有类的标签status在 div 中foo div a class status a div 你可以这样做 foo find status a
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • 使用 Enzyme 测试 `React.createRef` api

    我想测试下面的类 它使用React createRef api 不过 快速搜索并没有发现任何这样做的例子 有人成功过吗 我该如何嘲笑裁判 理想情况下我想使用shallow class Main extends React Component
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • 如何在 Android Lollipop 中保存 WebView 状态并恢复它?

    这个问题被问过多次 并且有曾经有效的答案 最近在文档中表示 出于安全原因 他们删除了此功能 webView状态只能恢复一些有限的东西 我尝试了多种方法来做到这一点 但每次刷新 webView 状态时 它都不会显示 webView 内容 我想
  • 如何使用 VSTS 扩展隐藏快速添加面板待办事项项?

    我想制作一个 VSTS 扩展 可以在加载页面时隐藏快速添加面板积压项目 快速添加面板待办事项 该扩展是针对 TFS 2015 更新 2 进行的 我已经运行了这段代码 但没有任何反应 动作 html
  • 在python beautifulsoup中从html中提取json

    我正在做一些爬虫 需要从用 bs4 做汤后返回的 div 中提取 json 内容 所以我现在得到了一个变量字符串 其中包含此文本变量 div class header product js header product div
  • 在 Polly 重试策略中重用 HttpRequestMessage

    An HttpRequestMessage对象只能使用一次 未来尝试使用同一对象会抛出异常 我正在使用 Polly 重试一些请求 但遇到了这个问题 我知道如何克隆请求 有很多关于 SO 的示例 但我不知道如何克隆请求并在 Polly 重试时
  • 无法从 recyclerview 实时数据库中删除项目

    我正在尝试设置一种方法来从 firebase 实时数据库中永久删除项目 由于某种原因 我不断收到一条错误消息 提示 getRef 不存在 尽管很多人使用相同的方法来删除项目 但我已尝试阅读并尝试多篇文章中的解决方案 但它并没有真正起作用 这
  • 如何在QML中封装自定义控件?

    我想创建一个 QML 自定义控件库 并将其提供给我的客户 同时 我不希望我的客户通过查看 QML 源代码来 逆向工程 我的控件 避免这种情况的最佳选择是什么 理想的情况是我将控件作为编译库提供 他们可以将其导入到自己的项目中 我的目标平台是
  • 如何在 3 延迟后删除元素?

    gallerie ul li eq 1 animate opacity 1 1250 remove results in instand remove gallerie ul li eq 1 delay 3000 remove instan
  • std::ignore 与结构化绑定?

    Prelude std tuple
  • 如何将 javascript 变量包装在 span 或粗体标签中?

    我得到了一些 JavaScript 可以创建一个数字时钟来访问网页 这工作得很好 但是我正在尝试修改它 将 am pm 后缀 或此代码中的 diem 包装在 span 或粗体标签中 以便我可以在 CSS 中对其进行不同的样式设置 我确信这对
  • 如何检测 shell 在 popen 调用后是否无法执行命令?不要与命令退出状态混淆

    最近我开始对我的 python 脚本进行一些测试 由于某些尴尬的原因 运行 python 脚本并检查其输出的模块是用 C 编写的 并添加了一些其他语言 这种方式目前对于我来说使用起来比较方便 单个测试使用以下代码运行 FILE fd NUL
  • jQuery 链接 .load() 请求?

    所以我正在使用 jQuery load 刚才看来我们无法配置 example load uri ext ID 像这样链接 example load uri ext ID1 load uri ext ID2 load uri ext ID3
  • 从 _Layout.cshtml 调用部分视图

    我有一个主类别 主类别在数据库中有其子类别列表 所以它是一个关系数据库 为了更好地理解 附上了 edmx 地图图片 现在我的目标是一个名为 GuestNav cshtml 的部分视图将包含类别和子类别列表显示 然后从 Layout csht
  • Rails 3:Ajax 使用部分更新视图

    我对以下 Ajax 请求做错了什么 链接 调用 路线 match it business analysis gt informationtechnology business analysis as gt it business analy
  • 如何让irb和rails控制台在gitbash中正常工作?

    我在 Windows 7 上使用 gitbash 版本 2 9 0 64 位 它使用 mintty 版本 2 0 3 大多数时候 gitbash shell 似乎工作正常 您可以使用箭头键等 就像使用任何 bash shell 一样 它们会
  • 如何使用 python 访问 Azure AD 组列表?

    我是蟒蛇新手 我找到了以下示例代码来检索 Azure AD 组https msdn microsoft com en us Library Azure Ad Graph api groups operations Basicoperatio
  • 比较Java中的浮点数[重复]

    这个问题在这里已经有答案了 可能的重复 在java中操作和比较浮点数 在 Java 中比较浮点数时我应该使用 Epsilon 吗 Float compare float f1 float f2 静态方法可以安全使用吗 Thanks 编辑 我
  • 视图对聚合函数与结果集限制的性能影响

    问题 Using PostgreSQL 13 我遇到了一个性能问题 根据我执行的 select 语句 从连接两个表的视图中选择最高 id 这是一个示例设置 CREATE TABLE test1 id BIGSERIAL PRIMARY KE
  • 使用 MQTT 代理对 ESP8266 Wemos D1 Mini 进行 SSL 证书验证

    我有一个树莓派 3 其操作系统为 raspbianstretch 我已经按照本教程在树莓派上安装并完全配置了 MQTT 代理 https www digitalocean com community tutorials how to ins
  • 将基于度数的地理坐标与正则表达式进行匹配

    我希望能够识别表单的模式 28 44 30 N 33 12 36 E 这是我到目前为止所拥有的 use utf8 qr d 1 3 s s d 1 2 s s d 1 2 s s ENSW s s s 2 x 不用说 这不匹配 和扩展字符
  • JavaScript 关键字“with”真的被弃用了吗?

    使用JavaScriptwith长期以来 语句一直被认为是不好的编码实践 并被建议不要这样做 这一页表明with已被弃用 并且在严格模式下会抛出错误 我的浏览器在使用时会抛出错误with在严格模式下 Google Closure Compi