问题标签 [with-statement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
462 浏览

javascript - 带有方括号表示法的“with”范围和属性

是否可以在“with”语句中访问只能使用方括号表示法访问的对象属性。

例子:

0 投票
3 回答
4273 浏览

javascript - Javascript沙箱

我想让开发人员用 Javascript 为网站编写一些自定义应用程序,但我想把它沙箱化,这样他们就不能做任何顽皮的事情,比如重定向用户、将正文显示设置为无等。我在 Javascript 中有一个命名空间,其中所有他们需要的功能在那里存在,所以我想创建一个沙箱将是:

解决这个问题有多容易,还有哪些其他方法可以解决?宁愿不必审核每个提交的应用程序。

0 投票
11 回答
112460 浏览

python - python“with”语句的设计目的是什么?

我今天第一次遇到 Pythonwith语句。几个月来我一直在轻松使用 Python,甚至不知道它的存在!鉴于其有点模糊的地位,我认为值得一问:

  1. Pythonwith语句的设计用途是什么?
  2. 你用它来做什么?
  3. 是否有任何我需要注意的问题,或与其使用相关的常见反模式?try..finally有什么比它更好用的情况with吗?
  4. 为什么不更广泛地使用它?
  5. 哪些标准库类与之兼容?
0 投票
5 回答
90702 浏览

python - 在多个上下文管理器上创建一个“with”块?

假设您通过上下文管理器获取了三个对象,例如锁、数据库连接和 ip 套接字。您可以通过以下方式获取它们:

但是有没有办法在一个街区内做到这一点?就像是

此外,是否有可能,给定具有上下文管理器的未知长度的对象数组,是否有可能以某种方式做到:

如果答案是“否”,是因为需要这样的功能意味着糟糕的设计,还是我应该鼓励一下?:-P

0 投票
1 回答
2487 浏览

sql-server-2008 - WITH 语句如何存储选择查询的记录集?

考虑以下 SQL (SQL Server 2008) 语句:

MyResult 是否存储在 tempdb 的临时表中?还是它做其他事情?

我们正在优化一些查询,并希望更好地理解 WITH 语句(内部)以帮助衡量性能等。

谢谢

0 投票
4 回答
1405 浏览

javascript - 为什么 eval 不能访问 with 语句下的作用域变量?

为什么不能使用evalunderwith语句访问作用域变量?

例如:

编辑:正如知识渊博的 CMS 所指出的,这似乎是一个浏览器错误(使用 WebKit 控制台的浏览器)。

如果有人想知道我试图想出什么可憎的东西,这将需要“邪恶”evalwith- 我试图看看我是否可以在另一个上下文而不是它的上下文中执行一个函数(用作回调)被定义了。不,我可能(咳嗽)不会在任何地方使用它......比任何东西都更好奇。

0 投票
1 回答
1014 浏览

python - 在 Python 2.4 中处理上下文类

我正在尝试使用 python-daemon 模块。它提供 daemon.DaemonContext 类来正确地守护脚本。虽然我主要针对 Python 2.6+,但我想保持对 2.4 版的向后兼容性。

Python 2.5 支持从future导入上下文,但 Python 2.4 没有这样的功能。我想我可以捕获 with 语句引发的任何错误并手动进入和退出 2.4 的上下文,但我似乎无法捕获引发的 SyntaxError。

除了显式检查解释器版本之外,有什么方法可以实现这一点吗?以下是我正在尝试做的事情的要点以及我遇到的问题。在现实生活中,我无法控制上下文类,因此它需要在不破坏原始类的情况下工作,即不喜欢这些想法。

没关系,如果 Python 2.4 不能运行 python-daemon;我至少希望能够捕捉到错误并实施回退或其他东西。

感谢您的帮助。

0 投票
4 回答
89891 浏览

python - 使用带有try-except块的python“with”语句

这是将python“with”语句与try-except块结合使用的正确方法吗?:

如果是,那么考虑旧的做事方式:

这里“with”语句的主要好处是我们可以摆脱三行代码吗?这个用例对我来说似乎没有什么吸引力(尽管我知道“with”语句还有其他用途)。

编辑:上述两个代码块的功能是否相同?

EDIT2:前几个答案一般谈论使用“with”的好处,但这些似乎是边际收益。多年来,我们都(或应该)明确地调用 f.close()。我想一个好处是马虎的编码员将受益于使用“with”。

0 投票
1 回答
364 浏览

garbage-collection - 在 GC 语言中是否有关于(或更好地使用)RAII 的研究?

注意:对象生命周期 RAII 不使用/与块范围 RAII

似乎可以使用额外的 gc 类别、短期对象(经常检查 gc 类别)、长期对象(不经常检查 gc 类别)和资源对象(非常频繁地检查 gc 类别)。或者可能为资源对象使用额外的引用计数 gc。

似乎 using/with 风格可以通过提升 I/O 的功能性风格(如果我错了,这不是功能性风格,请原谅我)阻止大量 I/O 分散在这个地方与基于对象的 RAII 的灵活性(因为它更容易)。但是有些问题可能需要很难跟踪资源的生命周期。

除了避免 gc 的复杂性和速度之外,还有其他原因没有在主流语言上完成吗?(我知道有些语言在其主要实现中使用引用计数作为 gc 的一部分,因此,RAII 可能在那里工作,但我相信他们的规范没有为某些类型的对象/或所有对象指定引用计数,并且人们使用的其他实现没有引用计数,从而限制了这些语言中对象生命周期 RAII 的使用。

PS:他们在 perl 中有 c++ 类型的 RAII 吗?

0 投票
5 回答
12918 浏览

python - 使用语句和上下文管理器了解 Python

我试图理解该with声明。我知道它应该替换try/except块。

现在假设我做这样的事情:

如何用上下文管理器替换它?