问题标签 [scoping]

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 投票
1 回答
605 浏览

javascript - 非递归替换内置 javascript 函数

我在这里写了一些书签,我有一些与内置 javascript 函数相关的问题。

假设我要替换内置提示功能(不一定在书签中)。这似乎很容易,但是有没有办法从这个替换中调用内置提示函数?

我无法正确确定范围。这个例子产生无限递归。

还有一种方法可以恢复已被替换的内置 javascript 函数的默认行为(无需挂在额外的参考上)。

0 投票
3 回答
7736 浏览

perl - perl 和变量作用域中的嵌套 foreach 循环

好的,这有点奇怪,它似乎不应该以这种方式工作。我有一个嵌套在另一个中的 foreach,我需要它来仅获取与外部循环相对应的值。

这似乎不起作用。对于嵌套循环的范围,我应该知道一条规则吗?测试表明,一旦进入内部循环, $var 就会停止存在,直到内部循环退出。

0 投票
1 回答
1177 浏览

r - dot-dot-dot 参数的范围

我对 dot-dot-dot 论点的范围有疑问。考虑以下函数`foo =

该函数适用于以下调用

但是当我尝试使用 style = 'fixed' 参数时,它也需要一个 fixedBreaks 参数,我得到

eval(expr, envir, enclos) 中的错误:... 列表不包含 2 个元素

请注意,以下工作完美

我怀疑这与范围规则有关,但一直无法确定。对此的任何帮助将不胜感激。

编辑。我拼凑了一个更简单的 hack 让它工作。我认为这是一个 match.call 问题,因为 style = 'pretty' 也存在同样的问题。快速浏览一下代码就会发现,这两种风格都是针对这种风格进行 match.call 的,所以这很可能是错误的来源。无论如何,这是我提出的 hack

我认为 Richie 对我的问题的回答揭示了为什么我之前的代码无法正常工作。但是,我仍然不明白为什么会这样。

0 投票
1 回答
1015 浏览

ruby-on-rails - Rails:查询缓存缓存的默认范围?

我有一个这样的默认范围,它是动态的:

当我使用此代码时,第一天就可以了。假设第一天是 28-03-2011

但是第二天好像还在用"departure_date >= 28-03-2011"

我的默认范围是否被缓存?

0 投票
1 回答
530 浏览

spring - 如何定义区域设置范围?

我想在我的程序中为不同的Locales创建不同的Bean实例,但是我对Spring CDI中的作用域机制了解不多。如果同时使用同一个 bean 的两个请求范围的实例,范围代理如何确定要转发的代理目标?

我可以从 http 请求中获取区域设置首选项,然后我想在该特定区域设置中获取正确的 bean。而不是使用“原型”范围,Locale-scope 将只为仅使用的语言环境创建几个实例。就个人而言,我想要以我自己的方式这样的东西:

好吧,这显然是行不通的。

任何想法?

0 投票
2 回答
1483 浏览

pascal - 关于静态和动态范围问题的问题

您能否确认我对以下代码的回答:

我有:

  • 静止的:

    /li>
  • 动态的:

    /li>

那是对的吗?

0 投票
1 回答
9535 浏览

javascript - 在哪里初始化将被 JavaScript 中的许多函数访问的全局变量

我对 JavaScript 很陌生。我想开发一个在黑莓上运行的画布动画。为此,我想使用 HTML5 和 JavaScript。我想创建以下功能:

  • 功能drawCircle()。圆的中心将是画布的中心(画布的大小将是窗口的大小),半径将由用户输入。到这里,我应该在哪里声明画布以分配圆心?

  • 函数draw()将绘制形状的所有函数。然后会在init函数中调用。

  • 功能init()。它将以一组间隔绘制形状。

我应该在哪里声明这些?:

  • var canvas = document.getElementById()
  • var context = canvas.getContext()
  • canvas.width = windows.innerWidh
0 投票
1 回答
237 浏览

wolfram-mathematica - 在 Mathematica 中使用上下文作为范围构造

考虑到我之前关于在大型 Mathematica 项目中切换数值和分析“模式”的问题的解决方案,我想到了将其Context用作范围构造的想法。

基本思想是在它们自己的上下文中进行所有数值赋值,例如

并具有全局上下文中所有复杂的分析函数、矩阵等。

理想情况下,我将能够在 Global 上下文中工作,并使用简单的数字切换到所有数字,Begin[Global'Numeric']然后使用End[].

不幸的是,这不起作用,因为例如f[par1_,par2_,...] := foo在 Global 上下文中定义的将不会使用已在 Global 的子上下文中定义的 , 等par1par2

有没有办法让子上下文从其父上下文继承定义?有没有其他方法可以使用上下文来创建一个简单的可切换范围?

0 投票
2 回答
865 浏览

javascript - Javascript scoping issue

I am trying to build a generic ajax loader, while ajax is running a lightbox with animated "Loading" gif will be displayed.

I have some issues with scoping.

The code is:

The error is: "Uncaught ReferenceError: s is not defined"

If anybody knows how to solve it please share.

The first and second solution did something but havent fixed it completely, now i am getting a different error: "Uncaught TypeError: Object # has no method 'dialog' $.loader.impl.close.s.d"

0 投票
2 回答
519 浏览

javascript - 如果原型无法访问私有变量,那么“清理”代码的最佳方法是什么?

大家好,我现在是这样的:

一切都很好,除了我不希望将变量_a暴露给原型以外的任何其他地方。好的,我进行了一些搜索并意识到这是不可能的,所以我想知道我们是否通常将其保留为这样(我的意思是我们只是让那些 _a 变量到处乱飞还是有更好的解决方案)?