前言:<script>元素
该元素有一下属性需要了解:
async:表示立即下载脚本,但不应该当妨碍页面其它操作。(异步脚本)
defer:表示脚本可以延迟到文档完全被解析和显示之后再执行。(延迟脚本)
src:表示包含要执行代码的外部文件。
type:编写代码的脚本语言的内容类型(MIME)。
注:1.HTML5规定多个延迟脚本会按照出现的顺序执行,然而实现起来不确定,因此最好只包含一个延迟脚本。
2.异步脚本的目的在于不让页面等待脚本下载执行,从而异步加载页面其他内容,因此,异步脚本不应该在加载期间修改DOM。
3.尽可能使用外部文件包含JavaScript代码,优点:可维护、可缓存、适应未来。
语法
1.区分大小写
2.标识符
第一个字符是字母、下划线或者美元符号,惯例标识符采用驼峰格式。
3.注释
单行// 多行/* */
4.严格模式
在顶部添加如下代码:
”use strict“
5.语句
分号不是必须,但是建议不省略。控制语句中使用代码块让编程意图明确。
关键字和保留字
略
变量
ECMAScript的变量是松散类型。
未经声明的变量在严格模式下会抛出ReferenceError错误。
一条语句定义多个变量,每个变量用逗号分隔开即可。
数据类型
typeof 操作符可得到数据类型。
Undefined
声明却未初始化的值就是undefined。
注:typeof操作符对未声明和未初始化的变量都会返回undefined,所以即便未初始化会自动赋予undefined,显式的初始化变量依然是明智的。这样typeof返回undefined时我们知道是变量未声明,而不是未初始化。
Null
表示一个空指针对象。
Boolean
true false
注:Boolean类型的字面量是区分大小写的,也就是说True和False都不是布尔值,只是标识符。
Number
1.浮点数值
注:关于浮点数值的计算会产生舍入误差。如 0.1+0.2 = 0.300000000000000004
2.数值范围(正无穷:Infinity 负无穷:-Infinity)
3.NaN(非数值)
注:isNaN()函数帮助我们判断一个参数是否不是数值。
4.数值转换
Number(a)
parseInt(a)
parseFloat(a)
String
a.toString()方法返回相应值的字符串表现。
Object
var o = new Object();创建一个自定义对象,每个对象实例都具有下列属性和方法:
constructor:保存着用于创建当前对象的函数。
hasOwnProperty(propertyName):用于检查给定的属性是否在当前实例中(而不是实例的原型中)。
isPrototypeOf(object):用于检查传入的对象是否是当前对象的原型。
propertyIsEnumerable(propertyName):用于检查当前属性能否使用for-in语句来枚举。
toLocalString()
toString()
valueOf()
注:所有的对象都具有这些属性和方法。