第一章 JavaScript发展简史
- 1995年,JavaScript诞生(那一年我2岁)
- 1997年,由欧洲计算机制造协会 ECMAScript脚本语言标准发布
- 1998年,ISO/IEC采用了ECMA标准
语言+标准
语言组成部分
- 语法,类型,语句
- 关键字,保留字,
- 操作符,对象
JavaScirpt实现
- 核心(ECMAScript),由ECMA-262定义,提供核心语言功能;
- 文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
- 浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
第二章 在HTML中使用JavaScript
文档模式(重点)
- 混杂模式(quirks mode)和标准模式(standards mode)。
第三章 基本概念
数据类型和操作符
- ECMAScript中的基本数据类型包括Undefined、Null、Boolean、Number和String。
- 注意:Undefined、Null
- ECMAScript中也有一种复杂的数据结构,即Object类型
- ECMAScript中操作符,包括算数操作符、布尔操作符、关系操作符、相等操作符及赋值操作符等。
语法
- 1.注释
- 2.大小写敏感,驼峰式命名
- 3.标识符('_','$',字母),其他字符
- 4.要在整个脚本中启用严格模式,在顶部添加"use strict"
变量
- 全局变量 var,let
- 局部变量{var, let}
- 生命周期
- gc
数据类型和取值
Boolean类型
- 各数据类型及其转换的规则
- //false,'',0/NaN,null/undefined
- if(flag){return;}
Number类型/NaN
- 如果计算结果超出,正的被转为Infinity,负的被转为-Infinity。
- 想确定一个数是不是有穷的,可以使用isFinity()函数。
- isNaN()在接收到一个值后,会尝试将这个值转换为数值
// isNaN()
console.log('=======非数字================')
console.log((isNaN(NaN)));
console.log((isNaN('hello')));
console.log('=======数字================')
console.log((isNaN(12)));
console.log((isNaN('12')));
console.log((isNaN(true)));
console.log((isNaN(false)));
String类型
- 任何字符串的长度都可以通过访问其length属性取得。
- 把一个值转换为一个字符串有两种方式。一种是使用几乎每个值都有的toString()方法
- //更好,不会报错
- 在不知道要转换的值是不是null或undefined的情况下,还可以使用转型函数 String()。
Object类型
- constructor:保存着用于创建当前对象的函数。
- hasOwnProperty(propertyName):用于检测给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。
- isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型
- propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句枚举
- toLocaleString():返回对象的字符串表示
- toString():返回对象的字符串表示。
- valueOf():返回对象的字符串、数值或布尔值表示。
操作符
- ++/--
- 算术
- +/-/*
- /
- %
- 布尔操作符
- &&/||/!
- 相等操作符
- ==/===
- !=/!==
语句
- 条件判断
- if语句
- while语句
- switch语句
- 循环
- for语句
- for-in语句
- break/continue语句
函数(略)