那么JavaScript程序应该写在哪里呢?脚本程序应该用\<script\>...\</script\>包围。多数情况下,被放置在\<head\>...\</head\>中。下面的例子让浏览器弹出警示框:
```html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>欢迎来访</title>
<script type="text/javascript">
"use strict";
alert("Hello world!");
</script>
</head>
<body>
<p>显示完消息框后,这部分才被解析呈现出来。</p >
</body>
</html>
```
浏览器自上而下逐行加载网页。当解析到\<script\>...\</script\>标签时,浏览器知道这里边是要运行的程序了。程序的最前面是`"use strict";`,其实这一行不算是程序代码,而应该叫做**预处理指令**。这句话告诉解释器要“以严格模式运行后面的程序”。因为JavaScript的诞生和发展具有太多的随意性。在早期阶段,JavaScript几乎没有什么规范可言。各大浏览器厂商都按照自己的想法去实现JavaScript,就连微软也在IE中实现了自己的JScript(可以理解为JavaScript的高仿版)。这导致同样一句代码在不同浏览器中产生的行为是不相同的。人们觉得这种局面有必要加以纠正,于是便提出了**严格模式**。在严格模式中,那些不确定的行为都得到了处理,而且某些不安全的操作也会抛出错误。我们后面讨论的所有内容,都是在严格模式中的。所以,你需要做的就是始终保证你所写的程序的最前面有一行`"use strict";`。
浏览器继续向下加载,读到`alert("Hello world!");`这一句后就立即运行。这句话是一个**函数调用**,还记得高中数学中的三角函数吗?例如$sin(π)$就是一次函数调用。其中$sin$是函数名,后面跟一对儿小括号,小括号里面是函数的参数$π$。$sin(π)$的调用返回值应该是0。与此类似,本例中的`alert`是函数名,并以`"Hello world!"`作为参数进行了调用。虽然调用后产生的函数值没什么大用,但是该函数的“副作用”却很重要,那就是弹出警示框,而警示框中显示的信息正是那个参数“Hello world!”。用户单击“确定”按钮关闭警示框后,浏览器继续加载下文,\<body\>...\</body\>中的内容才被解析呈现出来。这就是我们写的第一个JavaScript程序。需要特别注意的是,HTML语言是不分大小写的。你写\<p\>还是\<P\>都是可以的。不过最新版本的HTML语言建议我们统统使用小写。而JavaScript语言是区分大小写的,`alert`和`Alert`被认定是两个不同的标志。弹出“警示框”的函数名就是小写的alert,这不是建议而是强制。如果你不慎写成了`Alert("Hello world!");`是不会起作用的(严格说是错误)。另外,每个语句结尾处的分号不是必需的,但是使用分号被认为是良好的编程习惯。