.. _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