文档章节

js-bind学习痕迹

 甜酒0917
发布于 2016/11/30 13:55
字数 97
阅读 6
收藏 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
武汉
私信 提问
好程序员web前端分享菜鸟Vue学习笔记(二)

好程序员web前端分享菜鸟Vue学习笔记(二),今天天气不错,心情也不错,最近学习Vue越来越顺利了,今天接着学习,接着记录。 首先,来学习下常用的v-bind属性,它的作用是在属性中使用vue中...

好程序员IT
05/09
30
0
JS每日一题: Call,Apply,Bind的使用与区别,如何实现一个bind?

20190115问: Call,Apply,Bind的使用与区别,如何实现一个bind? 相同点: 都是使用于方法借用及明确this指向场景 第一个参数都是this要指向的对象 都可以利用后续参数传参 不同点: 参数传递...

JS每日一题
01/23
0
0
JavaScript初学者必看“this”

译者按: JavaScript的和Java等面向对象语言中的大不一样,、和函数更是将的灵活度进一步延伸。 原文: JavaScript: The Keyword ‘This’ for Beginners 译者: Fundebug 为了保证可读性,本文...

Fundebug
2017/05/17
22
0
JS每日一题: 前端优化手段有哪些

20190118问: 前端优化手段有哪些? 静态资源合并压缩(js,css, images) 请求数量优化 Gzip压缩 带宽优化 CDN 就近节点,减少DNS查找 按需加载 lazyload 减少请求 骨架屏 优化白屏 web缓存 缓存...

JS每日一题
01/23
0
0
PageOffice常用功能之--痕迹保留、键盘批注、手写批注

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

山里的红杏
2018/09/10
62
0

没有更多内容

加载失败,请刷新页面

加载更多

maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
今天
8
0
Linux创建yum仓库

第一步、搞定自己的光盘 #创建文件夹 mkdir -p /media/cdrom #挂载光盘 mount /dev/cdrom /media/cdrom #编辑配置文件使其永久生效 vim /etc/fstab 第二步,编辑yun源 vim /ect yum.repos.d...

究极小怪兽zzz
今天
6
0
jar 更新部分文件

C:\Program Files (x86)\Java\jdk1.8.0_102\bin>jar -hIllegal option: hUsage: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...Options: -c c......

圣洁之子
今天
9
0
OSChina 周六乱弹 —— 感谢女装红薯开办了这个网站

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @胖达panda:分享歌词: 我有一只小毛驴我从来也不骑,有一天我心血来潮骑着去赶集,我手里拿着小皮鞭我心里正得意,不知怎么哗啦啦,我摔了一...

小小编辑
今天
2.6K
13
DDD(四)

1,引言 软件开发者大多趋向于将关注点放在数据上,而不是领域上。这对于刚入门的DDD的新手而言也是如此。以我目前的思考方式,数据库依然占据主要的地位。开发一个功能,首先我就会考虑我会...

MrYuZixian
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部