window 未在 SUBLIME TEXT 编辑器的控制台中定义
window is not defined in console of SUBLIME TEXT editor
我正在尝试 运行 使用 sublime text 控制台的简单 JavaScript 程序,发现 here.
var clientData ={
id: 123,
fullName: 'Not set',
setFullName: function (fName, lName) {
this.fullName = fName + " "+ lName;
}
}
function getInput(firstName, lastName, callback) {
if (typeof(callback==="function")) {
callback(firstName, lastName);
}
}
getInput("Alex", "Smith", clientData.setFullName)
console.log(window.fullName);
尽管它在浏览器中工作得很好,但我无法使用 window
对象,因为它在 sublime text 的控制台 中抛出了以下错误:
console.log(window.fullName);
^
ReferenceError: window is not defined
at Object.<anonymous> (/Users/Desktop/My JS Exercises/callbackFnsOnObjs.js:18:13)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
我做了很多研究,但无法想出它在这里抛出此错误的确切原因。任何帮助和可能的补救措施都会非常有用。
这是因为您用来 运行 您的 javascript 的工具是 node
。 Node 是一个无头环境;它没有 DOM,因为它只是 V8 引擎,而不是网络浏览器。
您可以通过在代码顶部添加 window 的声明来解决此问题:
global.window = {}
window
是浏览器的全局对象。
global
是NodeJS的全局对象(运行JavaScript的编辑器大部分使用NodeJS)
我正在尝试 运行 使用 sublime text 控制台的简单 JavaScript 程序,发现 here.
var clientData ={
id: 123,
fullName: 'Not set',
setFullName: function (fName, lName) {
this.fullName = fName + " "+ lName;
}
}
function getInput(firstName, lastName, callback) {
if (typeof(callback==="function")) {
callback(firstName, lastName);
}
}
getInput("Alex", "Smith", clientData.setFullName)
console.log(window.fullName);
尽管它在浏览器中工作得很好,但我无法使用 window
对象,因为它在 sublime text 的控制台 中抛出了以下错误:
console.log(window.fullName);
^
ReferenceError: window is not defined
at Object.<anonymous> (/Users/Desktop/My JS Exercises/callbackFnsOnObjs.js:18:13)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
我做了很多研究,但无法想出它在这里抛出此错误的确切原因。任何帮助和可能的补救措施都会非常有用。
这是因为您用来 运行 您的 javascript 的工具是 node
。 Node 是一个无头环境;它没有 DOM,因为它只是 V8 引擎,而不是网络浏览器。
您可以通过在代码顶部添加 window 的声明来解决此问题:
global.window = {}
window
是浏览器的全局对象。
global
是NodeJS的全局对象(运行JavaScript的编辑器大部分使用NodeJS)