13-画布

2018-05-30  本文已影响15人  海棠未雨

复习JS高级

1、构造函数

如果一个函数配合new关键字创建对象,那么这个函数就可以称之为构造函数。

构造函数有个潜规则,就是函数名首字母为大写。

2、实例

在口头描述中,通过构造函数创建的对象就叫实例。

3、继承

继承是指一个对象可以使用另一对象的属性与方法。

4、prototype

函数默认含有的一个属性。

5、proto

对象默认含有的一个属性。

6、继承方式1 - 默认的原型继承

// 构造函数Fn
function Fn() {}
// 给Fn默认的原型中添加一个value属性
Fn.prototype.value = 100;
// 通过Fn创建一个obj实例
var obj = new Fn();
// 因为实例继承Fn.prototype,所以可以使用value属性
console.log(obj.value);

7、继承方式2 - 覆写构造函数的原型

// 构造函数Fn
function Fn() {}
// 重写Fn的原型为一个字面量对象
Fn.prototype = {
     value: 100
}
// 通过Fn创建一个obj实例
var obj = new Fn();
// 因为实例继承Fn重写后的原型对象,所以可以使用value属性
console.log(obj.value);

8、继承方式3 - 给原型混入

// 实现混入的函数
function extend(o1, o2) {
    for ( var key in o2 ) {
        o1[key] = o2[key];
    }  
}
// 构造函数Fn
function Fn() {}
// 给Fn默认的原型中混入字面量对象的value属性,
// 这样Fn.prototype里也有了value属性。
extend(Fn.prototype, {
    value: 100
});
// 通过Fn创建一个obj实例
var fn = new Fn();
// 因为实例继承Fn.prototype,所以可以使用value属性
console.log(obj.value);

9、继承方式4 - Object.create

var o = { value: 100 }
// 创建一个继承o对象的新对象
var newObj = Object.create(o);

10、继承方式5 - 构造函数借用(属性继承)

// 动物构造函数
function Animal(name, age) {
    this.name = name;
    this.age = age;
}
// 猫构造函数
function Cat(name, age) {  
    // 借用Animal函数给Cat实例添加属性
    Animal.call(this, name, age);
}
// 创建猫实例boSi
var boSi = new Dog('波斯', 2);
// 实例boSi拥有name、age属性值
console.log(boSi);

新内容-画布

第一天

1.入门

2.基本设置

3.Context属性

4.非零环绕原则

5.填充和描边的顺序问题

6.canvas在绘制线条的机制

上一篇 下一篇

猜你喜欢

热点阅读