JavaScript的组成
- DOM: Document Object Model 提供了一整套操作页面元素的API
- BOM: Browser Object Model 提供了一整套操作浏览器相关内容的API
- ECMAScript: js的语法规范以及标准!
JavaScript中的数据类型
基本数据类型
stringnumberboolean
复合数据类型
- Object
- function
- Array
- Date
- RegExp
- String
- Number
- Boolean
- Math
空类型
nullundefined
获取数据类型的方式
|
|
全等和等于的区别
全等
即判断数据的数据类型是否一致,也判断值是否一致
等于
只判断值是否一样
引用类型和值类型参与运算的时候的规则
|
|
当值类型和数据和引用类型的数据发生运算的时候,首先需要调用该引用类型数据的valueOf方法,获取返回之后,尝试进行运算,如果可以运算,则得出结果,如果不能运算,继续调用该引用类型数据的toString方法,获取返回值,参与运算!
in关键字的使用
for-in 用来遍历对象的属性
|
|
属性名 in 对象 判断对象能否访问指定的属性
|
|
delete关键字的使用
删除没有使用var声明的变量
|
|
删除对象的属性
|
|
tip: 访问一个不存在的变量,会报错,xx is not defined
访问一个对象不存在的属性,不会报错,会返回undefined
逻辑中断
||中断
|
|
&& 中断
|
|
break和continue
break 跳出整个循环,继续执行循环之后的代码
continue 跳出本次循环, 执行下次循环
异常处理语句
|
|
手动抛出异常
|
|
引用类型和值类型
值类型
存储的是数据本身的这种数据,就是值类型的数据
引用类型
存储的是数据的地址,数据单独存储,这种数据,就是引用类型的数据
值类型和引用类型的赋值特征
值类型
值类型赋值,会将当前变量存储的数据直接复制一份交给新的变量,此时两个变量内容相同,但是存储空间完全独立,互不影响
引用类型赋值, 会将当前变量存储的数据的地址复制一份,交给新的变量,两个变量指向同一个对象,修改其中一个,另外一个也受到影响
对象的动态特性
在对象创建完成之后,可以随时为对象新增成员(属性和方法)这种特性就是动态特性
面向对象的基本概念
面向过程
解决问题的思维方式, 将解决问题的关注点方法在了解决问题的每一个详细的步骤上!
面向对象
解决问题的思维方式, 将解决问题的关注点方法在了解决问题所需要的一系列的对象身上!
面向对象和面向过程的关系
面向对象其实就是对面向过程的封装
什么是对象
万物皆对象
js中,无序的键值对集合,就是对象!