目录
一、初识JavaScript
JavaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证。所谓前端验证,就是指检查用户输入的内容是否符合一定的规则,比如:用户名的长度,密码的长度,邮箱的格式等等。
JavaScript是由网景公司发明,起初命名为LiveScript,后来由于SUN公司的介入更名为了JavaScript。1996年微软公司在其最新的IE3浏览器中引入了自己对JavaScript的实现JScript。于是在市面上存在两个版本的JavaScript,一个网景公司的JavaScript和微软的JScript。为了确保不同浏览器上运行的JavaScript标准一致,所以几个公司共同制定了JS的标准命名为ECMAScript。
ECMAScript是JavaScript标准,所以一般情况下这两个词认为是一个意思。但是,实际上JavaScript的含义却要更大一些。一个完整的JavaScript实现应该由以下三个部分组成:
二、JS编写位置
1.标签属性中
可以将js代码编写到标签中的onclick属性中,当点击按钮时,js代码才会执行
<button onclick="alert('yes~~')">点一下</button>
可以将js代码写在超链接的href属性中,这样当点击超链接时,会执行js代码
<a href="javascript:alert('点点点')">点一下</a>
<a href="javascript:;">再点一下</a>
虽然可以写在标签的属性中,但它们属于结构于行为耦合,不方便维护,不推荐使用
2.script标签
可以将js代码编写到script标签
<script>
alert('hello!')
</script>
3.外部JS文件(推荐使用)
可以将js代码编写到外部js文件中,然后通过script标签引入
写到外部文件中可以在不同的页面中同时引用,也可以利用浏览器的缓存机制
<script src="..."></script>
三、注释
1.单行注释
单行注释以两个正斜杠字符 //
开始。这一行的剩余部分是注释。它可能独占一行或者跟随在一条语句的后面。
// 单行注释
2.多行注释
多行注释以一个正斜杠和星号开始 “/*”
并以一个星号和正斜杠结束 “*/”
。
/*
多行注释
多行注释
多行注释
*/
四、分号
JS中严格区分大小写
当存在换行符(line break)时,在大多数情况下可以省略分号。
JS中每一条语句以 ; 结尾,如果不写分号,浏览器会自动添加,但是会消耗一些系统资源,
而且有些时候,浏览器会加错分号,所以在开发中分号必须写
JS中会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化
五、严格模式
长久以来,JavaScript 不断向前发展且并未带来任何兼容性问题。新的特性被加入,旧的功能也没有改变。
这么做有利于兼容旧代码,但缺点是 JavaScript 创造者的任何错误或不完善的决定也将永远被保留在 JavaScript 语言中。
这种情况一直持续到 2009 年 ECMAScript 5 (ES5) 的出现。ES5 规范增加了新的语言特性并且修改了一些已经存在的特性。为了保证旧的功能能够使用,大部分的修改是默认不生效的。需要一个特殊的指令 —— "use strict"
来明确地激活这些特性。
这个指令看上去像一个字符串 "use strict"
或者 'use strict'
。当它处于脚本文件的顶部时,则整个脚本文件都将以严格模式进行工作。
"use strict";
// 代码以严格模式工作
...
"use strict"
可以被放在函数体的开头。这样则可以只在该函数中启用严格模式。但通常人们会在整个脚本中启用严格模式。只有注释可以出现在 "use strict"
的上面。
没有办法取消 use strict
!!!一旦进入了严格模式,就没有回头路了
现代 JavaScript 支持 “classes” 和 “modules” —— 高级语言结构,它们会自动启用 use strict
。因此,如果使用它们,则无需添加 "use strict"
指令。