JS基础-简介
第 1 章 JavaScript 简介
JavaScript 诞生于1995年
一个完整的 JavaScript 由这三部分组成:
- ECMAScript (核心)
- DOM (文档对象模型)
- BOM (浏览器对象模型)
ECMAScript 的 宿主环境 包含 :
- 浏览器
- Node
- flash
ECMAScript 大致规定了下列组成部分:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
第 2 章 在 HTML 中使用 JavaScript
<script>
标签有下列常见属性:- async 表示立即下载脚本,不妨碍页面的其他操作(异步下载)
- 无法保证每个 js 的顺序
- 用于互不依赖的 js
- 主要目的是不让页面等 js
- defer 延迟到文档完全解析和显示之后在执行
- 在
</html>
标签之后执行
- 在
- src 外部文件链接
- type 表示编写代码使用的脚本语言的内容类型
text/javascript
- async 表示立即下载脚本,不妨碍页面的其他操作(异步下载)
第 3 章 基本概念
语法,借鉴了 C 语言
- 区分大小写
- 标识符,指的是变量、函数、属性的名字
- 第一个字符必须是 字母、下划线、或美元符号
- 其他字符可以是字母、下划线、美元符号或数字
严格模式
1
;
数据类型
- 基本数据类型
- Undefined、Null、Boolean、Number、String
typeof
操作符,一般用于基本类型的检测,返回相应类型的字符串- “undefined”,”boolean”,”string”,”number”,”object”,”function”
- 复杂数据类型
- Object
- 基本数据类型
Null
类型- 表示空对象指针
- 只要意在保存对象的变量还没有真正保证对象,则保存
null
undefined
派生自null
,因此用==
比较返回true
浮点数,指的是数值中包含一个小数点,并且小数点后面至少有一位数字
NaN
- 任何涉及 NaN 的操作都返回
NaN
NaN
与任何值都不相等,包括NaN
本身
- 任何涉及 NaN 的操作都返回
数值转换
- 有 3 个函数可以把非数值转换为数值
- Number() 可以用于任何数据类型
- parseInt() 专门用于字符串转数值,用于解析整数
- parseFloat() 专门用于字符串转数值,用于解析浮点数
- 有 3 个函数可以把非数值转换为数值
字符串
- 数值、布尔值、对象、字符串值本身 都有 toString()方法,用于转为字符串
- undefined 和 null 没有 toString()方法,但可以使用 String()方法
Object 类型
对象其实就是一组数据与功能的集合
使用 Object()构造函数创建对象
1
var obj = new Object(); // 同 obj = {}
每个对象实例都有下列属性和方法
constructor
指向用于创建当前对象的构造函数 。(对于上面例子而言,就是Object()
)hasOwnProperty(propertyName)
用于检查给定属性是否在当前对象实例中isPrototypeOf(Object)
用于检查传入的对象是否是当前对象的原型propertyIsEnumerable(propertyName)
用于检查给定的属性是否能够使用for-in
来枚举toLocaleString()
返回对象的字符串表示,该字符串与执行环境的地区对应toString()
返回对象的字符串表示valueOf()
返回对象的字符串、数值、布尔值表示。通常与toString()
返回值相同
所有对象都有以上属性和方法
操作符
- 一元操作符
- ++
- 前置与后置的区别是与其他数运算时,前置会先执行递增(减)再与其他数运算,后置会先与其他数运算再对自身执行递增(减)
- 布尔操作符
- 与 (&&)
- 短路操作,即如果第一个操作数能决定结果,就不会对第二个操作数求值
- 或 (||)
- 短路操作,即如果第一个操作数能决定结果,就不会对第二个操作数求值
- 非 (!)
- 先使用 Boolean()转成布尔值再取反
- 与 (&&)
- 一元操作符
语句(也称流控制语句)
if-else
do-while
后测试循环语句,在对表达式求值之前,循环体内的代码至少会被执行一次
1
2
3
4var i = 0;
do {
i += 2;
} while (i < 10); // 只要i小于10就会一直循环
while
前测试语句
1
2
3
4var i = 0;
while (i < 10) {
i += 2;
} // 只要i小于10就会一直循环
for
使用 while 循环做不到的,使用 for 循环同样做不到。就是说,for 循环只是把与循环有关的代码集合在一个位置
1
2
3for (初始化; 条件; 循环后执行) {
// ...
}break 立即退出循环
continue 退出当前单次循环
-
- for- in 用来枚举对象的属性
函数
- 任何函数都可以在任何时候返回任何值
- 未指定返回值的函数会返回一个 undefined
- 通过 arguments 访问参数,它是一个类数组
评论
LivereValine