JavaScript代码范围查询
如果我在python代码下面运行JavaScript代码范围查询,javascript,python,Javascript,Python,如果我在python代码下面运行 def f(): return bar foo = f foo() bar = 3 foo() 作为python file.py,该代码将在python解释器的\uuuuuu main\uuuuu模块的范围内 类似地,我想知道,下面JavaScript代码的范围是什么 var foo = function(){ return bar; }; foo(); var bar = 3; foo(); JavaScript代码作为模块加载是否类似
def f():
return bar
foo = f
foo()
bar = 3
foo()
作为python file.py
,该代码将在python解释器的\uuuuuu main\uuuuu
模块的范围内
类似地,我想知道,下面JavaScript代码的范围是什么
var foo = function(){
return bar;
};
foo();
var bar = 3;
foo();
JavaScript代码作为模块加载是否类似于python解释器环境?使用Javascripts
变量宿主
,您的代码将以如下方式执行:
var bar;
var foo;
foo = function(){
return bar;
};
foo();
bar = 3;
foo();
如前所述,这将在全局范围内运行,在全局级别创建变量foo
和bar
下面的JavaScript代码的范围是什么
这取决于环境
对于客户端JavaScript,代码片段将直接在全局范围内执行,使foo
和bar
成为全局对象的全局和属性,window
var foo = 'bar';
console.log('foo' in window); // true
console.log(window.foo, foo); // 'bar' 'bar'
尽管如此,其他环境已经实现了模块规范,例如来自的规范,并且可以定义每个脚本文件都有自己的作用域
var foo = 'bar';
console.log('foo' in global); // false
exports.foo = foo; // make available to other modules
Sham从mozilla.org上读到你可能会得到答案。不,我写了相同的答案(现在已删除),他在问其他问题。我想看看我的javaScript代码可以看到的全局对象窗口的所有属性是什么。我如何在javascript中做到这一点?在python中,我通过调用globals()@Sham来了解模块的作用域,您可以使用。否则,您至少可以使用.jonathan迭代可枚举属性。如果我需要学习javascript并运行您推荐的上述方法,那么我需要使用html吗?我们不能像使用Interpreter运行python一样运行javascript代码吗?我是说没有html代码?因为我以前从未编写过javascript,我想先学习javasscript作为语言,然后再考虑使用javascript(在浏览器中)。我该怎么做?你能为我提供一些资源吗?乔纳森,你认为我的问题在我之前的更新中有意义吗?我想和你们聊聊,了解一下反思我的javascript代码在window对象范围内的方式?