call的实现原理及一个很好的应用场景
来源:互联网 发布:广州pm2.5实时数据 编辑:程序博客网 时间:2024/06/05 04:56
call方法是js中比较重要的一个知识点,看了很多介绍也未必能够对他有个深刻的理解,那就让我们看看他的实现原理吧。
//这个方法只是简单的模拟了call的实现原理,对context是否非空,参数对象素组字符串的类型都没有做处理。Function.prototype.call2 = function(context) { context.fn = this; var args = []; for(var i = 1, len = arguments.length; i < len; i++) { args.push('arguments[' + i + ']'); } //args数组自动toString处理 eval('context.fn(' + args +')'); delete context.fn;}
原型链继承的一般写法,一直感觉不够简洁
function MyObject(name, message) { this.name = name.toString(); this.message = message.toString();}MyObject.prototype.getName = function() { return this.name;};MyObject.prototype.getMessage = function() { return this.message;};
偶然发现的call方法优化,感觉高大上很多
function MyObject(name, message) { this.name = name.toString(); this.message = message.toString();}(function() { this.getName = function() { return this.name; }; this.getMessage = function() { return this.message; };}).call(MyObject.prototype);
阅读全文
0 0
- call的实现原理及一个很好的应用场景
- JavaScript模板引擎的应用场景及实现原理
- JavaScript模板引擎的应用场景及实现原理
- 很好的一个游戏场景
- ZooKeeper的基础原理及应用场景
- KVO的实现原理及使用场景
- base64加密算法的实现及应用场景
- impala的原理架构介绍及应用场景
- Hbase的应用场景、原理及架构分析
- Handler消息机制的原理及应用场景
- NIo、Bio、aio、 的原理及区别与应用场景
- NIo、Bio、aio、 的原理及区别与应用场景
- Hbase的应用场景、原理及架构分析
- impala的原理架构介绍及应用场景
- NIo、Bio、aio、 的原理及区别与应用场景
- NIo、Bio、aio、 的原理及区别与应用场景
- Shell脚本的应用场景及工作原理
- Scala中Stream的应用场景及其实现原理
- 51Nod-1295-XOR key
- C++类中this指针的理解
- 02redis五种数据类型
- 【BigHereo 5】-----sonar
- Ubuntu中Samba的安装配置和使用
- call的实现原理及一个很好的应用场景
- 1410: QAQ & 火星情报局 [数学]
- 【HPU 1410 1410: QAQ & 火星情报局 】 数学 & 规律 & 哥特巴赫的猜想
- C++静态成员变量详解
- sql查询
- [Linux OS] Ubuntu 16.04 上实时显示上下行网速、CPU及内存使用率--indicator-sysmonitor
- hdu 6080-度度熊保护村庄
- SSH整合后junit4报错问题
- Induction to Vue.js