误解?为什么Javascript会自动执行变量?

误解?为什么Javascript会自动执行变量?,javascript,javascript-objects,Javascript,Javascript Objects,我目前正在学习Javascript,我想知道为什么下面会执行“console.log('why')”。我认为“变量”(var、let、const)只存储信息,不能自己执行。我不希望下面的内容实际预执行console.log const x=console.log('why'); //同样,为什么会这样做(如果有一个按钮和一个警报功能,那么就允许这样做) 函数onClickFunction(){ var myVar=setInterval(alertFunc,3000); }发生这种情况是因为当

我目前正在学习Javascript,我想知道为什么下面会执行“console.log('why')”。我认为“变量”(var、let、const)只存储信息,不能自己执行。我不希望下面的内容实际预执行console.log

const x=console.log('why');
//同样,为什么会这样做(如果有一个按钮和一个警报功能,那么就允许这样做)
函数onClickFunction(){
var myVar=setInterval(alertFunc,3000);

}
发生这种情况是因为当使用参数
'why'
调用时,您已将函数
控制台.log的输出分配给
x

如果要将字符串指定给
x
,则可以使用引号将其表示为:

const x = "some string";

当在赋值语句的右侧有一个函数调用时,该变量被赋给调用该函数的返回值。可以调用函数并将返回的结果存储在variabe中,因此console.log是一个函数,您可能需要这样做:
const x=()=>console.log('why')