我在博客中发现了CoffeeScript,并决定尝试一下,我的第一个项目/代码就是这个
alert "Hello CoffeeScript!"
它不起作用并给出了这个回复
ReferenceError: alert is not defined
我有什么问题吗?
答案 0 :(得分:2)
window.alert
是由DOM(在浏览器中)定义的方法,而不是由Javascript定义的方法。如果您运行此环境的环境未定义全局alert
方法,则您无法调用它。
答案 1 :(得分:1)
JavaScript是一种与环境概念密切相关的语言。 浏览器和 Node.js 是运行JS代码的两种可能环境(CoffeeScript编译为JavaScript)。
当JavaScript嵌入浏览器时,全局对象为window
。但是在Node.js中,全局对象只是global
。
这两种环境都有一些方法,比如核心JavaScript方法......
String.prototype
种方法Array.prototype
种方法Object.prototype
种方法 ...以及window
或setInterval
等具体的setTimeout
方法。
但是,window.alert
显然在CLI中不可用。如果您想在Node中使用此功能,则必须使用类似alert-node --->的内容。 npm i alert-node
。
// alert.js
var alert = require('alert-node');
alert('Hello');
命令: node alert.js
# alert.coffee
alert = require 'alert-node'
alert 'Hello'
命令: coffee alert.coffee