Javascript局部变量声明

Paw*_*phy 8 javascript variables local definition

基本上这是一个如何访问本地范围处理程序的问题.我试图为全局变量定义实现类似的东西,如:

window['newObject'] = "some string";
alert(newObject);
Run Code Online (Sandbox Code Playgroud)

但对于当地范围.现在我只有解决方案是使用evals:

eval("var newObject='some string'");
Run Code Online (Sandbox Code Playgroud)

但这是一个非常丑陋的解决方案......最好的方法就是在window []解决方案中使用一些本地范围的引用,但我从来没有听说过任何对本地范围的引用......有什么想法吗?

示例如下:

function x(arg)
{
   localScope[arg.name]=arg.value;
   alert(sex);
}

x({name:"sex", value:"Male"});
Run Code Online (Sandbox Code Playgroud)

JW.*_*JW. 6

您正在寻找的是被称为调用对象.但根据这个,你不能直接访问它,所以你的运气了.


Paw*_*phy 1

好吧,我发现相关的问题正在谈论我需要什么......

如何在 JavaScript 中动态访问本地范围?

我只记得在 ECMA 262 中只是使用“with”语句(当然还有 eval)将动态局部变量添加到作用域的一种方法,以下是解决方案:

var x=function(obj)
{

    with(obj) 
    {
       alert(someObj);
    }
 }
 alert(typeof someObj);


 x ( {someObj:"yea"}) ;

 alert(typeof someObj);
Run Code Online (Sandbox Code Playgroud)