继承
1.js没有类的概念,只有对象,就是继承也是通过对象的方式;constructor类似于类初始化函数,
prototype 是个类的对象;
2.保持原型链路的基础上,对父类对象的属性隔离;保证重用;
var F = function(){};
F.prototype = TwoShape.prototype;
Triangle.prototype = new F();
3.将uber属性设置成了指向其父级原型的引用;
my.uber = TwoShape.prototype;
4.继承函数封装,具体原理不懂;
function extend(Child,Parent) {
var F = function(){};
F.prototype = Parent.prototype;
Child.prototype = new F;
Child.prototype.constructor = Child;
Child.uber = Parent.prototype;
extend(TwoShape,shape);//使用内容
属性的拷贝为自身的,基本数据类型是创建新的,函数和数组都是值的引用;新创建相当于忘记之前的对象,重新生成一个对象;
function extend2(Child, Parent) {
var p = Parent.prototype;
var c = Child.prototype;
for (var i in p ){
c[i] = p[i];
c.uber = p;
}
}
prototype是什么含义?
javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。
A.prototype = new B();
理解prototype不应把它和继承混淆。A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍。A能使用B的方法和属性。这里强调的是克隆而不是继承。可以出现这种情况:A的prototype是B的实例,同时B的prototype也是A的实例。
DOM环境
1.访问标签,计时器,修改样式等
1 | var inputs = document.getElementsByTagName('button'); |
2.创建添加节点
1 | var myp = document.createElement("p"); |
3.插入节点,删除节点
1 | document.body.insertBefore(p,document.body.firstChild) |
4.其他常用方法
1 | document.title ="123"; //不改变实际标签内容 |
5.捕捉法和冒泡法