这本书讲了哪些内容:
JS 的历史:JS 的起源,浏览器(Netscape Navigator & Internet Explorer)之间的竞争,网景(Netscape)公司为了对抗微软,联合 Sun 公司和 ECMA 对 JS 进行标准化——ECMAScript,JS 作为解释型脚本语言存在(与 Java 这种编译型语言不同),JS 能够使开发者操作浏览器,DOM(一种概念化文档的方式),世界对象模型(生活中的事物、抽象概念),DOM Level 0,W3C 推出标准化 DOM(这使得任何程序设计语言都能对标记语言写出来的文档进行操控),DOM Level 1(1998.10),DOM 是一种 API(API 是一组已经得到有关各方共同认可的基本约定)。
JS 的语法:语句,注释,变量(variable),赋值(将值存入变量),字面量(literal),数组,操作符,条件语句,循环语句,函数,对象。
DOM:节点,getElementById,getElementsByTagName,getElementsByClassName,getAttribute,setAttribute
编译型语言与解释型语言的区别?
- 在错误提示方面,前者先编译后运行,在编译时即可提示代码 bug;而后者只有在执行到错误代码位置时,才会提示错误
- 与解释型语言相比,编译型语言速度更快,可移植性更好
通过理解英语,来理解什么是解释型语言。
驼峰格式是函数名、方法名和对象属性名命名的首选格式。
变量命名时,首字母为什么不能是数字?
通过反引号引入变量: `${myVar}`
变量名的命名规则?
- 不包含空格、标点符号($ 除外)
- 允许包含字母、数字、美元符号和下划线(但首字母必须为非数字)
JS 最重要的三种数据类型:字符串,数值,布尔值。
转义字符
一个数组作为另一个数组的元素
#对象
用点号获取属性和花括号语法创建对象。
#操作
自增、自减
字符串与数值之间的类型转换:
- 字符串拼接数字,成为字符串
- 两个数字拼接,成为数值
+= 加法和赋值
#条件语句
if...else...
为什么赋值运算并非总是返回真值?
#循环语句
do...while 循环内部的代码至少执行一次
#函数
传参
#变量的作用域
全局变量:可在任何位置被引用,它的作用域是整个脚本;
局部变量:只存在于声明它的函数内部,作用域仅限于当前函数
仅在函数内部使用的变量一定为局部变量
#对象
对象是自包含的数据集合,包含在对象里的数据可以通过两种形式访问——属性和方法:
- 属性是隶属于某个特定对象的变量
- 方法是只有某个特定对象才能调用的函数
为了用对象描述目标事物,需要创建对象实例
创建自己的对象——用户定义对象,与之对应的是内建对象:Array,Math,Date
宿主对象:由运行环境提供,如 document