js关键概念解释1

1.作用域链: 从当前作用域逐级往上查找,直到全局作用域所形成的链条。全局作用域是该链条的最后一个对象。

2. 闭包: 能够引用另一个函数作用域的变量的函数。优点:限制变量的访问级别,弊端:容易造成内存不释放,内存泄漏问题。

3. 原型链:在所有的构造函数上都有一个prototype属性,所有的对象上都有一个隐藏且不能访问的属性(在google浏览器上是__proto__)。通过该属性可以实现面向对象开发,即封装,继承,多态的代码特征。通过指定prototype对象来指定父类,再通过设置父类的prototype来指定爷爷类,从而构成的整个链条,被称为原型链。原型链最后指向的都是Object.prototype对象。

在属性定义上,通常使用构造函数,主要因为属性通常是私有个性化的,因个人而异。而方法的继承通常通过指定原型对象来实现。

//父类构造函数
function Super(name){
    this.name = name;
    this.sex = 'male';
}
Super.prototype.sayHi = function(){
    console.log(this.name)
}
//子类构造函数
function Sub(name, age){
    Super.call(this, name);//sex属性继承和 this.name = name代码冗余
    this.age = age
}
//继承父类的方法
Sub.prototype = Object.create(Super.prototype);
//指定构造函数
Sub.prototype.constructor = Sub;//在instanceof判定对象类型时,是Sub类型

//验证
var p1 = new Sub('尼古拉斯')
p1.sayHi();

4. javascript和Ecmascript关系:javascript 简称 js, Ecmascript 简称es, js包括了es,dom 和bom三部分。es在吸收别的开发语言优势,仍在不断迭代和升级。

5.Dom事件流: 从事件捕获流开始,逐渐到处于目标阶段,再到事件冒泡阶段。在早期浏览器中,捕获阶段是不会触发事件,只有在冒泡阶段。当然处于目标阶段是属于冒泡阶段的开端。在IE9,Chrome等高版本中捕获阶段接受事件也是允许的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值