JS apply用法总结和使用场景实例分析


Posted in Javascript onMarch 14, 2020

本文实例讲述了JS apply用法总结和使用场景。分享给大家供大家参考,具体如下:

apply是绑定this到指定函数或类,也可以说把函数或者类的方法和属性给到当前作用域。

1,使用apply实现继承

function A(name, age){
   this.name = name;
   this.age = age;
  }
 
  function B(name, age, time){
   A.apply(this,[name]) //这里的name必须加上[]
  }
 
  const b = new B('继承');
  console.log(b)

2,使用apply实现多重继承

function Class10(){
 this.showSub = function(a,b){
    alert(a - b);
  }  
}
 
function Class11(){
 this.showAdd = function(a,b){
    alert(a + b);
  } 
}
 
function Class12(){
 Class10.apply(this);
 Class11.apply(this);  
 // Class10.call(this);
 //Class11.call(this); 
}
 
var c2 = new Class12();
c2.showSub(3,1);  //2
c2.showAdd(3,1);  //4

3,apply使用时传参规则

fn.apply(this,array)

在执行过程中,array参数会被转化成一个一个参数传递给函数fn

fn.apply(this,[params1,params2,...])
//相当于
fn(params1,params2,...)//这里的this指向执行fn函数的作用域

4,apply绑定this和绑定null

function C(name, age){
   console.log(this.name)
  }
 
  var name = 'windowname'
  var myObject = {name:"myA",age:"myB"};
  C.apply(myObject) //myA
  C.apply(null)//windowname
 
   function D(){
   this.name = '我是D空间'
   C.apply(this)
  }
 
  D();//我是D空间

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript 模式设计之工厂模式详细说明
May 10 Javascript
浅谈Javascript事件模拟
Jun 27 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
Mar 11 Javascript
ie与ff下的event事件使用介绍
Nov 25 Javascript
jquery 新建的元素事件绑定问题解决方案
Jun 12 Javascript
JQuery解析XML的方法小结
Apr 02 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
Jan 09 Javascript
使用JavaScript实现一个小程序之99乘法表
Sep 21 Javascript
使用React手写一个对话框或模态框的方法示例
Apr 25 Javascript
前端js中的事件循环eventloop机制详解
May 15 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
Jul 06 Javascript
js实现蒙版效果
Jan 11 Javascript
javascript事件循环event loop的简单模型解释与应用分析
Mar 14 #Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
Mar 14 #Javascript
js实现的订阅发布者模式简单示例
Mar 14 #Javascript
vue插槽slot的简单理解与用法实例分析
Mar 14 #Javascript
es6中new.target的作用和使用场景简单示例分析
Mar 14 #Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
Mar 14 #Javascript
js中forEach,for in,for of循环的用法示例小结
Mar 14 #Javascript
You might like
人族 Terran 魔法与科技
2020/03/14 星际争霸
PHP中的超全局变量
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
JQuery的$命名冲突详细解析
2013/12/28 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
详解vue路由
2020/08/05 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
Python通过future处理并发问题
2017/10/17 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
手写一个python迭代器过程详解
2019/08/27 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
2020/04/22 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
奥巴马演讲稿
2014/01/08 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
安全隐患整改报告
2014/11/06 职场文书
2015年服务员工作总结
2015/04/08 职场文书
学校教师师德师风承诺书
2015/04/28 职场文书
紧急迫降观后感
2015/06/15 职场文书
企业宣传稿范文
2015/07/23 职场文书
电力安全教育培训心得体会
2016/01/11 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
基于Go语言构建RESTful API服务
2021/07/25 Golang