Javascript 变量在节点中是如何超越的

Javascript 变量在节点中是如何超越的,javascript,node.js,Javascript,Node.js,问题已解决,谢谢 我只是想知道nodejs中的var(variable)是如何实现的?像这个简单的代码一样,我打开命令promtp node 然后 在belajar.js中,只有一行代码 console.log('Hello World'); 为什么var会变得异常?谁叫它var?我可以用sjfaljflsafl更改var测试,它仍然有效。我不确定我是否理解您的问题 var test=require('./belajar.js') 及 sjfaljflsafl=require('./bela

问题已解决,谢谢

我只是想知道nodejs中的var(variable)是如何实现的?像这个简单的代码一样,我打开命令promtp

node
然后

在belajar.js中,只有一行代码

console.log('Hello World');

为什么var会变得异常?谁叫它var?我可以用sjfaljflsafl更改var测试,它仍然有效。

我不确定我是否理解您的问题

var test=require('./belajar.js')

sjfaljflsafl=require('./belajar.js')

两者都会起作用。使用
var
是更好的做法,第二个示例在
严格模式下不起作用。使用
var
时,变量的作用域将限定为所处的块。如果你不这样做,它将回到全球范围


var
不会被“执行”<执行code>require
,并将其返回值(在本例中未定义)分配给变量。

当您按原样从命令行启动节点(无任何参数)时,它开始节点REPL-Read Evaluate Print循环。所以每次你点击回车键,它都会执行代码

这类似于仅在节点中调用文件:

node belajar.js

你叫它:)。您需要文件和节点来处理它。这是意料之中的行为。如果您不希望立即执行它,那么可以执行以下操作:
module.exports=function(){console.log('Hello World');}
如果您现在在命令提示符下尝试,它将不会执行,您需要调用test();对不起,我的错误,我只是用var=console.log()测试本机javascript;它也是运行的,这意味着javascript将超过var。它甚至在没有
var
的情况下工作!证明:
require('./belajar.js')
我的观点是,var为什么会被超越?我用本机javascript测试它,var=console.log(“Hello”);这也是工作。我认为var只是var,直到我们称之为var。在PHP中,我们不能执行$var=echo“Hello”。我们需要$var=“Hello”,然后回显$var@ucon89但是
var test=console.log(“hello”)
更像是
$test=print(“hello”)它将被执行too@Molda你的回答让我明白了。即使我们不调用,编程语言(JS、PHP等)仍然执行变量。我以为var只在我们调用它时执行。非常感谢你!问题解决了。
node belajar.js