今日、「javascriptのすべてがグローバルなので、関数のローカル変数にアクセスすることは可能です」と聞きました。関数の外部から関数のローカル変数にアクセスすることは可能ですか?
私が知る限り、変数のスコープ外からローカル変数にアクセスすることはできません。例えば
、
function f()
{
var myvar = "something";
}
myvar = "c"; // i'm not accessing myvar in f();
私はまた、MYVARにアクセスするためにため(ウィンドウ内のVAR i)をを使用することが可能だということを聞きました。私は言語の作者ではないので、それが不可能であることを確認したい。
更新日:
は、私は彼にコードスニペットを尋ね、そしてここで私が受け取ったものです。これは、変数にアクセスしていないです
var person = {
whoIs : function()
{
var name = "name";
return name;
}
};
var str = "TEST:\n";
for(var n in person)
{
str += n;
str += " = [" + person[n] + "]\n";
}
// perform regular exp. to get the value of name variable.
alert(str);
.........単に機能は、開発者が間違っていたことが
* *これは間違いなく間違っている「それはJavaScriptですべてがグローバルであるため、関数のローカル変数にアクセスすることが可能です」。 – Behrang
これを少し拡張するために、JavaScriptは非常に奇妙なスコープを持っています(あなたがそれに慣れていない場合)。しかし、 "JavaScriptのすべてがグローバルです"というのは間違っています。同様に、間違っている開発者から遠ざかります。 – Corbin
その男に尋ねる*「JavaScriptを最後に使ったのはいつですか?」* – Joseph