行为委托认为对象之间是兄弟关系,互相委托,而不是子类和父类的关系。JavaScrip的[[]prototype]机制本质上就是行为委托。也就是说,我们可以选择在JavaScript中努力实现类机制,也可以拥抱更自然的[prototype]委托机制1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46// 面向对象风格
function Foo() {
this.me = who;
}
Foo.prototype.identify = function () {
return "I am " + this.me
}
function Bar(who) {
Foo.call(this, who);
}
Bar.prototype = Object.create(Foo.prototype);
Bar.prototype.speak = function () {
alert("hello," + this.identify() + '.')
}
var b1 = new Bar('b1');
var b2 = new Bar('b2');
console.log(b1.speak());
console.log(b2.speak());
// 对象关联风格
Foo={
init: function(who) {
this.me=who;
},
identify: function() {
return "I am" +this.me;
}
};
Bar=object.create(Foo);
Bar.speak=function() {
alert("hello," + this.identify() + '.')
};
var b1=object.create(Bar);
b1.init("b1");
var b2=object.create(Bar);
b2.init('b2');
b1.speak();
b2.speak();
BetterScroll 是一款重点解决移动端各种滚动场景需求的开源插件(GitHub地址),适用于滚动列表、选择器、轮播图、索引列表、开屏引导等应用场景。
为了满足这些场景,它不仅支持惯性滚动、边界回弹、滚动条淡入淡出等效果的灵活配置,让滚动更加流畅,同时还提供了很多 API 方法和事件,以便我们更快地实现滚动场景下的需求,如下拉刷新、上拉加载。
由于它基于原生 JavaScript 实现,不依赖任何框架,所以既可以原生 JavaScript 引用,也可以与目前前端 MVVM 框架结合使用,比如,其官网上的示例就是与 Vue 的结合。
第一步:git branch 查看当前分支情况
第二步:git branch 分支名,新建一个自己的分支
第三步:git checkout 分支名,切换到新建的分支
第四步:git branch,重新查看一下
第五步:git push -u origin 分支名,同步到github线上
第六步:进行add追踪以及commit提交
第七步:查看线上github仓库,新的v2分支就创建好啦!!!
##页面适应电脑和手机屏幕1
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />