`
angun123
  • 浏览: 9516 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JavaScript设计模式之call

阅读更多
根据w3school中的说法call() 方法是与经典的对象冒充方法最相似的方法。它的第一个参数用作 this 的对象。其他参数都直接传递给函数自身。下面我们个简单的例子: 运行结果就是:alert("ClassB")。为什么会这样呢?关键在a.sayName.call(b);这句,它的意思是将a中的sayName方法添加到b中执行,因此现在b中除了name属性之外还会就会多个sayName方法。

下面我们来看一个用call来模拟类的继承了例子:

同样执行的结果依旧是:alert("ClassB")。关键是ClassA.call(this),代码中已经有了详细的说明,这里就不再说了。
分享到:
评论

相关推荐

    2018-01-01JavaScript设计模式_1

    1 . 作为对象的方法调用 2 . 作为普通函数调用 3 . 构造器调用 4 . Function.prototype.call 或者 Function.pro

    学习JavaScript设计模式之迭代器模式

    迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。 JavaScript中的Array.prototype.forEach 一、jQuery中的迭代器 $.each([1, 2, 3], function(i, n) { console....

    javascript设计模式之迭代器模式

    迭代器模式分为内部迭代器和外部迭代器,内部迭代器就是在函数内部定义好迭代的规则,它完全接手整个迭代的过程,外部只需一次初始调用。 内部迭代器 以下自行实现的类似jquery中$.each()的each()函数就是内部迭代...

    JavaScript中的this,call,apply使用及区别详解

    中途参考的书籍也很多,以《JavaScript设计模式与开发实践》为主,《JavaScript高级程序设计》、《你不知道的JavaScript》为辅。这三本书对我理解this,call,apply都起了很大的帮助。 this 首先,我们先讲述this。 在...

    hijos:用于构建树结构和复合设计模式的 JavaScript 类

    例子例如,在视图层中使用复合设计模式作为 MVC 应用程序的三个基本设计模式之一。 app . SimpleControlView = function ( ) { hijos . Leaf . call ( this ) ; this . buttonEl = document . createElement ( '...

    js设计模式源码

    行为设计模式。公开一个统一的接口,系统的不同部分可以通过该接口进行通信。 确保组件的交互是通过这个中心点来处理,而不是通过显示地引用彼此。 这种模式可以帮助我们解耦系统并提高组件的可重用性 // ...

    JavaScript中apply方法的应用技巧小结

    最近在看JavaScript设计模式,其中有一些巧妙的函数。所以将部分修改后记录在此,顺便加上自己写出的一些好玩的函数。方便大家和自己以后使用。下面来一起看看。 一、apply实现call Function.prototype.call = ...

    JavaScript this关键字指向常用情况解析

    今天看了曾探的javascript设计模式,里面特别谈到了this在不同情况下指代的对象,非常有意思。 this指代的情况 this有以下4种情况: 1、对象.函数的形式调用:object.function(); 2、普通函数的形式调用:function...

    produce-by-path:“按路径产生”是一种设计模式,用于通过使用它所应用的路径来动态产生值。 该软件包可帮助我们轻松创建和定义生产者实例

    Produce By Path是一种设计模式( 首次将其定义为设计模式) ,该模式用于通过使用其应用的路径来动态生成值。 该软件包可帮助我们轻松创建和定义生产者实例。 安装 npm install produce-by-path 用法 import ...

    JavaScript高级程序设计学习笔记(四)

    上半部分的笔记可以浏览JavaScript高级程序设计学习笔记(三) 以下的笔记是书上一些我以前学习的时候,没有太重视的js基础知识,也有一些面试知识的拓展,通过博客回顾并加深理解。 文章目录第五章(下)引用类型...

    Front-End-Knowledge-Share:前端知识,面试题,一些好用的工具分享。欢迎:sparkles:

    Front-End-Interview & Personal blog share 分享一些前端知识和面试题,包括:,,,,,相关的内容...13. 讲一讲JavaScript设计模式中的单例模式 14. ES6的箭头函数中this有什么特点? 2. CSS 目录 1. 垂直居中的几种

    精通JS脚本之ExtJS框架.part2.rar

    4.1 设计模式——观察者模式 4.2 自定义事件 4.3 浏览器事件 4.4 ExtJS中的事件 4.4.1 Function.call()/apply()方法 4.4.2 函数的作用域 4.4.3 Ext.lib.Event事件 4.4.4 Ext.util.Observable事件 4.4.5 Ext....

    精通JS脚本之ExtJS框架.part1.rar

    4.1 设计模式——观察者模式 4.2 自定义事件 4.3 浏览器事件 4.4 ExtJS中的事件 4.4.1 Function.call()/apply()方法 4.4.2 函数的作用域 4.4.3 Ext.lib.Event事件 4.4.4 Ext.util.Observable事件 4.4.5 Ext....

    python入门到高级全栈工程师培训 第3期 附课件代码

    python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 ...15 再插两道JavaScript面试题 16 Model操作之select_related以及...

    基于JSP的博客系统论文+源码+数据库

    系统页面采用Html语言和Css样式以及JavaScript脚本来设计,系统的相关功能由Java语句来实现,使用Tomcat为服务器,和Oracle 数据库作为后台,采用Jsp+Servlet+JavaBean模式来完成系统的相关功能。主要分为游客角色和...

    jQuery-master

    市面的jQuery书太多了,良莠不齐,看了那么多多总觉得少点什么对“干货”,我不喜欢就事论事的写代码,我想把自己所学的知识点,代码技巧,设计思想,代码模式能很好的表达出来,所以考虑通过分析jQuery的二进制库的...

    d3-star-plot:d3 中的星图

    它鼓励熟悉的 d3 设计模式使构建一系列星图变得简单。 var star = d3.starPlot() .properties([ 'Body', 'Sweetness', 'Smokey' ]) .scales(scale); .labels([ 'Body', 'Sweetness', 'Smokey' ])data.forEach...

    外文翻译 stus MVC

    For instance, the Struts framework will take fname from request stream and call UserActionForm.setFname(). • The Struts framework updates the state of the UserActionForm before passing it to the ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 实例...

Global site tag (gtag.js) - Google Analytics