我只是在WebStorm中编写一些代码,就像下面的
var cities = {
resorts : ["new york", 'los angeles', 'san jose'],
print: (delay = 1000 ) => setTimeout(()=>{ console.log(this===window)})
}
cities.print()
在WebStorm中,我希望控制台打印出“ true”,但是它表示window
尚未定义!
在类似Chrome的浏览器中,控制台打印出“ true”。
window
不是js中非常重要的对象吗?
这怎么发生?
答案 0 :(得分:1)
window
对象仅在浏览器中定义,而在Node.js环境中未定义。看起来您正在使用Node.js运行代码(通过从.js
文件的右键菜单中选择 Run )。
您需要通过.html
标签将JavaScript代码包含在<script>
文件中,然后在WebStorm中右键单击此.html
文件,然后选择 Run 或调试以在浏览器中执行代码