什么';浏览器编程和WebStorm编程的区别是什么?

什么';浏览器编程和WebStorm编程的区别是什么?,webstorm,Webstorm,我只是在WebStorm中写一些代码,如下所示 var cities = { resorts : ["new york", 'los angeles', 'san jose'], print: (delay = 1000 ) => setTimeout(()=>{ console.log(this===window)}) } cities.print() 在WebStorm中,我希望控制台打印出'true',但它说窗口没有定义 在类似Ch

我只是在WebStorm中写一些代码,如下所示

var cities = {
        resorts : ["new york", 'los angeles', 'san jose'],    
        print: (delay = 1000 ) => setTimeout(()=>{ console.log(this===window)})
}

cities.print() 
在WebStorm中,我希望控制台打印出'true',但它说
窗口
没有定义

在类似Chrome的浏览器中,console打印出“true”

window
不是js中最早的对象吗


这是怎么发生的?

窗口对象只在浏览器中定义,没有在Node.js环境中定义。看起来您正在使用Node.js运行代码(从
.js
文件的右键单击菜单中选择Run

您需要通过
标记将javaScript代码包含在
.html
文件中,然后在WebStorm中右键单击该
.html
文件,然后选择运行调试以在浏览器中执行代码