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 按回车键相应按钮提交事件
Nov 02 Javascript
js字符编码函数区别分析
Dec 28 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
Dec 18 Javascript
javascript中Math.random()使用详解
Apr 15 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
Jun 16 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
Jul 26 Javascript
Form表单上传文件(type="file")的使用
Aug 03 Javascript
关于JS与jQuery中的文档加载问题
Aug 22 jQuery
JavaScript循环遍历你会用哪些之小结篇
Sep 28 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 Javascript
微信小程序封装多张图片上传api代码实例
Dec 30 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
Sep 07 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
2021年最新CPU天梯图
2021/03/04 数码科技
收藏的PHP常用函数 推荐收藏保存
2010/02/21 PHP
PHP中用hash实现的数组
2011/07/17 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
xmlHTTP实例
2006/10/24 Javascript
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
JS获取IP、MAC和主机名的五种方法
2013/11/14 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
vue基础之事件v-onclick="函数"用法示例
2019/03/11 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
Python实现接受任意个数参数的函数方法
2018/04/21 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
flask session组件的使用示例
2018/12/25 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Python的numpy库下的几个小函数的用法(小结)
2019/07/12 Python
HTTP状态码详解
2021/03/18 杂记
人力资源管理专业应届生求职信
2013/09/28 职场文书
室内设计专业个人的自我评价
2013/10/19 职场文书
销售顾问的岗位职责
2013/11/13 职场文书
暑期培训班策划方案
2014/08/26 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
酒店辞职书范文
2015/02/26 职场文书
家庭经济困难证明
2015/06/23 职场文书
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server