文档章节

js-bind学习痕迹

 甜酒0917
发布于 2016/11/30 13:55
字数 97
阅读 4
收藏 0
Function.prototype.bind = function(oThis) {
if (typeof this !== "function") {
// 与 ECMAScript 5 最接近的
// 内部 IsCallable 函数
throw new TypeError(
"Function.prototype.bind - what is trying " +
"to be bound is not callable"
);
}
var aArgs = Array.prototype.slice.call( arguments, 1 ),
fToBind = this,
fNOP = function(){},
fBound = function(){
	  console.log(this);
return fToBind.apply(
(
this instanceof fNOP &&
oThis ?  this: oThis
),
aArgs.concat(
Array.prototype.slice.call( arguments ))
);
}
;
fNOP.prototype = this.prototype;
fBound.prototype = new fNOP();
return fBound;
};

function foo(something) {
this.a = something;
}
var obj1 = {};
var bar = foo.bind( obj1 );
bar( 2 );
console.log( obj1.a ); // 2
var baz = new bar(3);
console.log( obj1.a ); // 2
console.log( baz.a ); // 3

 

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 13
码字总数 3450
作品 0
武汉
关于js的bind牌胶水,了解一下?

前言 今天聊一聊js中的bind方法,主要从三个维度来阐述:why——>what——>how。文章虽经个人多次校验,对语言表述、代码书写等进行了认真审核,但仍免不了有疏漏之处,如若发现,还望指出,...

hanmin
05/14
0
0
PageOffice常用功能之--痕迹保留、键盘批注、手写批注

一般在OA办公系统及其它文档系统公文流转的过程中,多层上级要对下级撰写的公文进行逐级审批或修改,这时就用到了Office的审阅功能。审阅的过程一般就是对文档进行留痕,键盘批注,手写批注的...

山里的红杏
09/10
0
0
卓正PageOffice在OA系统文档在线编辑及流转

OA公文流转系统主要用于处理企业日常工作中内外部的各种公文,包括了公文的拟稿、审批、传阅、公告、归档,多层上级可以对下级撰写的公文进行逐级审批或修改,待最高级人员确认无误后即可进行...

山里的红杏
09/10
0
0
趣谈js的call和apply两大召唤术

前言 在《趣谈js的bind牌胶水》这篇文章中,我聊到了js的bind胶水,这篇文章我来聊聊js的call和apply这对孪生兄弟。 Why? ——> 为什么会出现apply和call? 在《趣谈js的bind牌胶水》中,我...

hanmin
05/21
0
0
关于Function.prototype.bind

bind()方法会创建一个新函数,称为绑定函数。当调用这个绑定函数时,绑定函数会以创建它时传入bind()方法的第一个参数作为 ,传入 bind() 方法的第二个以及以后的参数加上绑定函数运行时本身的参...

黑魔法
04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

h5 禁止手机自带键盘弹出

html: <div style="width: 350px;margin:50px auto;"><input type="text" id="datePicker" class="date_picker form-control" placeholder="点击选择入住日期" /></div> js: $("#date......

Delete90
32分钟前
1
0
color透明度对照表

透明度百分比 数值 100% 不透明 FF 95% F2 90% E6 85% D9 80% CC 75% BF 70% B3 65% A6 60% 99 55% 8C 50% 80 45% 73 40% 66 35% 59 30% 4D 25% 40 20% 33 15% 26 10% 1A 5% 0D 0% 完全透明 ......

_无问西东
33分钟前
1
0
Windows命令行使用Git下的Curl命令

今天在windows上安装SpaceVim时,提示需要安装Git和curl,安装了Git,原本以为要通过mingw或者cygwin来安装curl(这样就麻烦了),最后发现原来Git已经自带curl命令,我们只需要将其配置以下...

yxmsw2007
36分钟前
1
5
shell中的函数-shell中的数组-告警系统需求分析

shell中的函数: 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。 格式: 格式: function 函数名称() { command } #f...

ZHENG-JY
38分钟前
1
0
ffmpeg对mp4文件进行ts切片并生成m3u8文件

首先可以通过ffprobe查看视频信息 (可选) 执行: ./ffprobe Beach-Ball.mp4 iZm5ecuy8n2epwa3gno33xZ:/opt/yizhichao/ffmpeg-4.0.2-64bit-static # ./ffprobe Beach-Ball.mp4 ffprobe v......

yizhichao
45分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部