JavaScript简介
什么是JavaScript
JavaScript(js)是一种轻量级的面向对象的编程语言,许多网站使用它来编写网页脚本。它是一种解释型编程语言,应用于HTML文档时,它可以在网站上实现动态交互。JavaScript是1995年引入的,用于在Netscape Navigator浏览器中向网页添加程序。从那时起,它已被所有其他图形界面的Web浏览器采用。使用JavaScript用户可以构建动态的Web应用程序,而无需每次都重新加载页面。传统的网站使用js提供多种形式的交互。
虽然,JavaScript与Java编程语言没有连接。这个名称是在Java逐渐开始流行时命名的。除Web浏览器外,CouchDB和MongoDB等数据库也使用JavaScript作为脚本和查询语言。
- JavaScript 是一种轻量级的编程语言。
- JavaScript 是可插入 HTML 页面的编程代码。
- JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
您将学到什么
下面是您将在本教程中学到的主要内容。
JavaScript:直接写入 HTML 输出流
- JavaScript 能够直接写入 HTML 输出流中。
- 您只能在 HTML 输出流中使用document.write。
- 如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。
示例代码
<p>JavaScript 能够直接写入 HTML 输出流中:</p>
<script>
document.write("<h1>这是一个标题</h1>");
document.write("<p>这是一个段落。</p>");
</script>
效果展示:
JavaScript:对事件的反应
示例代码
<button type="button" onclick="alert('欢迎!')">点我!</button>
效果展示:
JavaScript 能够对事件作出反应。比如对按钮的点击:
alert() 函数在 JavaScript 中并不常用,但它对于代码测试非常方便。
onclick 事件只是您即将在本教程中学到的众多事件之一。
JavaScript:改变 HTML 内容
使用 JavaScript 来处理 HTML 内容是非常强大的功能。
示例代码
<script>
function myFunction() {
x = document.getElementById("demo"); // 找到元素
x.innerHTML = "Hello JavaScript!"; // 改变内容
}
</script>
<button type="button" onclick="myFunction()">点击这里</button>
效果展示:
JavaScript 能改变 HTML 元素的内容。
您会经常看到 document.getElementById(“some id“)。这个方法是 HTML DOM 中定义的。
DOM (Document Object Model)(文档对象模型)是用于访问 HTML 元素的正式 W3C 标准。
您将在本教程的多个章节中学到有关 HTML DOM 的知识。
JavaScript:改变 HTML 图像
本例会动态地改变 HTML <image> 的来源(src):
示例代码
<script>
function changeImage() {
element = document.getElementById('myimage');
if (element.src.match("bulbon")) {
element.src = "/img/pic_bulboff.gif";
} else {
element.src = "/img/pic_bulbon.gif";
}
}
</script>
效果展示:点击以下灯泡查看效果
点击灯泡就可以打开或关闭这盏灯
以上实例中代码 element.src.match(“bulbon”) 的作用意思是:检索 <img id=”myimage” onclick=”changeImage()” src=”/images/pic_bulboff.gif” width=”100″ height=”180″> 里面 src 属性的值有没有包含 bulbon 这个字符串,如果存在字符串 bulbon,图片 src 更新为 bulboff.gif,若匹配不到 bulbon 字符串,src 则更新为 bulbon.gif
JavaScript 能够改变任意 HTML 元素的大多数属性,而不仅仅是图片。
JavaScript:改变 HTML 样式
改变 HTML 元素的样式,属于改变 HTML 属性的变种。
示例代码
<script>
function myFunction() {
x = document.getElementById("demo") // 找到元素
x.style.color = "#ff0000"; // 改变样式
}
</script>
效果展示:
JavaScript 能改变 HTML 元素的样式。
JavaScript:验证输入
JavaScript 常用于验证用户的输入。
示例代码
<script>
function myFunction5() {
var x = document.getElementById("demo5").value;
if (x == "" || isNaN(x)) {
alert("不是数字");
}
}
</script>
效果展示:
请输入数字。如果输入值不是数字,浏览器会弹出提示框。
以上实例只是普通的验证,如果要在生产环境中使用,需要严格判断,如果输入的空格,或者连续空格 isNaN 是判别不出来的。可以添加正则来判断(后续章节会说明):
示例代码
if(isNaN(x)||x.replace(/(^\s*)|(\s*$)/g,"")==""){ alert("不是数字"); }
效果展示:
请输入数字。如果输入值不是数字,浏览器会弹出提示框。
您知道吗?
JavaScript 与 Java 是两种完全不同的语言,无论在概念上还是设计上。
Java(由 Sun 发明)是更复杂的编程语言。ECMA-262 是 JavaScript 标准的官方名称。
JavaScript 由 Brendan Eich 发明。它于 1995 年出现在 Netscape 中(该浏览器已停止更新),并于 1997 年被 ECMA(一个标准协会)采纳。
ECMAScript 版本
JavaScript 已经由 ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。
年份 | 名称 | 描述 |
---|---|---|
1997 | ECMAScript 1 | 第一个版本 |
1998 | ECMAScript 2 | 版本变更 |
1999 | ECMAScript 3 | 添加正则表达式 添加 try/catch |
ECMAScript 4 | 没有发布 | |
2009 | ECMAScript 5 | 添加 “strict mode”,严格模式 添加 JSON 支持 |
2011 | ECMAScript 5.1 | 版本变更 |
2015 | ECMAScript 6 | 添加类和模块 |
2016 | ECMAScript 7 | 增加指数运算符 (**) 增加 Array.prototype.includes |
ECMAScript 6 也称为 ECMAScript 2015。
ECMAScript 7 也称为 ECMAScript 2016。