AngularJS基础三(个人学习笔记)
18、JavaScript通过字面量创建来构造对象
或者采用function关键字
19、帕斯卡命名法:每个单词首字母大写
驼峰命名:与帕斯卡命名法相似,只是首字母小写
20、JavaScript语言有三种方式实现对象继承
(1)构造方法原型链继承
每一个JavaScript构造方法都有一个名称为prototype的属性,可以指向另一个对象,当访问对象时,JavaScript引擎会从对象的所有属性中查找该属性,如果找到就返回属性值,没找到就继续查找,直到找到为止
(2)使用apply call方法实现继承
由于JavaScript构造方法的apply(),call()方法可以改变对象构造中this的上下文环境,使特定的对象实例具有对象构造中所定义的属性,方法。听此骂我嗯而已事项JavaScript对象的继承
(在网页中,打开开发人员工具,就能看到结果)
(3)对象实例间继承
在JavaScript中,一个对象可以继承另一个对象的属性
Object.create()方法,是以一个对象为原型创建另一个对象,创建的对象和原对象具有相同属性,可以通过Object.getPrototypeOf()方法获取新对象的原型
21、$watch方法监视作用域,$watch()方法在对待基本类型和引用类型时会用不同的处理方式,$watch()可以接收三个参数,第一个参数是需要监视的属性,第二个参数是监视属性发生变化时需要回调的方法,第三个参数默认是false。当第三个参数为false时候,我们叫做“引用监视”,当第三个参数为true时候,我们叫做“全等监视”
22、作用域监视解除,需要关注$watch()方法的返回值,该方法调用完毕之后会返回另一个方法,我们需要调用返回方法就可以解除作用域监视
23、$apply方法和$digest循环是AngularJS的核心概念
使用$timeout和$interval服务修改作用域属性时会自动触发$digest循环
24、AngularJS作用域支持两种事件传播(一事件从子作用域路由到父作用域,二事件从父作用域广播到所有子作用域),与作用域事件相关的方法有$on(),$emit(),$broadcast()
25、emit()方法用于实现事件从子作用域路由到父作用域中,该方法的第一个参数为事件名称,后面可以传入一个或多个参数,这些参数能够被传递到父作用域注册的事件监听器中,使用方法:
26、$broadcast()方法的使用和$emit()方法相同,不同的是,它用于子作用域广播事件,所有的子作用域只要注册了事件监听器就能收到父作用域的广播事件
27、$on()方法用于注册一个事件监听器,接收两个参数,第一个参数是监听事件的名称,第二个参数是事件处理方法