学习javascript——基础语法
定义
javascript是一门用来增强页面动态效果,实现页面与用户之间的实时、动态交互的脚本语言(解释型编程语言)。javascript由三部分组成:ECMA、DOM和BOM
[1]ECMAScript由ECMA-262定义,提供核心语言功能(ECMA是欧洲计算机制造商协会)
[2]DOM文档对象模型,提供访问和操作网页内容的方法的接口
[3]BOM浏览器对象模型,提供与浏览器交互的方法的接口
引入
引入javascript有两种办法: 在页面内嵌入js代码 和引入外部文件
[1]页面内嵌入
<script> alert("My First JavaScript"); </script>
[2]引入外部js文件
[注意]带有src属性的<script>元素不应该在其<script>标签之间再包含额外的js代码,如果包含了嵌入的代码,则只会下载并执行外部脚本,而忽略嵌入的代码
<script src="myScript.js"></script>
<script>
无论哪种引入方法,都需要利用<script>标签。<script>标签共用6个属性,其中language属性已经废弃
[1]src:表示包含要执行代码的外部文件,该文件可以跨域
[2]charset:可选,表示通过src属性指定的代码的字符集,大多数浏览器会忽略
[3]defer:可选,表示脚本可以延迟到文档完全被解析和显示之后再执行,只对外部脚本有效
[4]async:可选,表示应该立即下载脚本,但不妨碍页面的其他操作。只对外部脚本有效
[5]type:可选,是language的替代属性,表示编写代码使用的脚本语言的内容类型,也称为MIME类型。考虑到兼容,一般还是text/javascript,若不指定,默认值也是text/javascript
[6]language:已废弃
async和defer
[1]如果async和defer都不设置,浏览器会立即加载并执行指定的脚本
<script src="test.js"></script>
[2]如果只设置async,浏览器会异步下载脚本,不阻塞页面的其他操作
[注意]异步脚本一定会在页面的load事件前执行
<script src="test.js" async></script>
[3]如果只设置defer,脚本会被延迟到文档完全被解析和显示后再执行
<script src="test.js" defer></script>
注释
注释可以提高代码可读性,帮助自己和别人阅读和理解Javascript代码,注释的内容不会在网页中显示,分为单行注释和多行注释两种
//单行注释 /* 多行注释 */
忽略空格
JavaScript会忽略多余的空格,可以向脚本添加空格,来提高其可读性
//以下写法均正确 var name="hello"; var name ="hello"; var name = "hello";
代码折行
可以在文本字符串中使用反斜杠对代码行进行换行
//正确 document.write("Hello \ World!"); //错误 document.write \ ("Hello World!");
大小写敏感
JavaScript的变量、函数名和操作符都区分大小写。函数getElementById与getElementbyID不同,同样,变量myVariable与MyVariable也是不同的
保留字和关键字
ECMA-262描述了一组具有特定用途的关键字,这些关键字用于表示控制语句的开始或结束,或用于执行特定操作等;ECMA-262还描述了另外一组不能用作标识符的保留字,它们将来有可能成为关键字
//第5版在非严格模式下的保留字 Class | enum | extends | super | const | export | import //第5版在严格模式下的保留字 Implements | package | public | interface | private | static | let* | protected | yield*
[注意]在严格模式下,eval和arguments也不可作为标识符