.. _first_js: ================= 第一个JavaScript ================= 作为计算机从业者,你肯定知道JavaScript是一种非二进制执行程序的解释型程序,依赖于解析起(WEB浏览器提供JavaScript解析器)运行。 OK,我也知道上述概念,但是怎么开始运行一段JavaScript脚本呢? 通常我们在浏览器中运行JavaScript,有两种方式: - 将脚本放在HTML文档中任意位置的 ```` 元素中 - 将脚本放在外部带有 ``.js`` 扩展名的JavaScript文件中,然后在HTML文档中使用 ```` 元素包含外部脚本 另外一种常见的运行方式是在控制台,例如服务器环境中运行JavaScript: 使用 :ref:`nodejs` - 我们现在创建一个简单的 ``index.js`` : .. literalinclude:: first_js/index.js :language: javascript :caption: 简单的终端打印 index.js ,使用index命名可以作为默认执行 命令行运行js( :ref:`nodejs` ) =============================== - 快速部署一个 :ref:`nodejs_dev_env` ,先 :ref:`install_nvm` : .. literalinclude:: ../../nodejs/startup/nodejs_dev_env/install_nvm :language: bash :caption: 安装nvm - 安装最新版本node: .. literalinclude:: ../../nodejs/startup/nodejs_dev_env/nvm_install_nodejs :language: bash :caption: nvm安装node.js 啊哈,我们现在就可以开始运行JavaScript了, ``so easy`` :: node . 这里使用 ``.`` ,则默认运行 ``index.js`` 可以指定运行:: node index.js 都会在终端中打印出我们熟悉的 ``hello world`` .. note:: ``console.log()`` 支持多个参数,会在日志行合并打印。例如: .. literalinclude:: first_js/console.log_multi_arguments.js :language: javascript :caption: 多个参数的控制台输出 输出显示: .. literalinclude:: first_js/console.log_multi_arguments.js_output :caption: 多个参数的控制台输出显示案例(输出参数内容间有一个空格) .. note:: 在浏览器中运行JavaScript,则 ``console.log("XXXX")`` 输出到控制台,浏览器页面不可见这个输出内容。下文中,浏览器中运行JavaScript,可以使用 ``alert("XXXX")`` ,在弹出窗口显示警告。 在浏览器中运行JavaScript ============================== - 创建一个 ``index.html`` 来包含上述的``index.js`` : .. literalinclude:: first_js/index.html :language: html :caption: 引入index.js的简单index.html .. note:: HTML