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 相关文章推荐
jQuery Clone Bug解决代码
Dec 22 Javascript
基于jquery实现的表格分页实现代码
Jun 21 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
May 08 Javascript
JS实现支持多选的遍历下拉列表代码
Aug 20 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
js右下角弹出提示框示例代码
Jan 12 Javascript
url传递的参数值中包含&时,url自动截断问题的解决方法
Aug 02 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
Nov 15 Javascript
React 使用Hooks简化受控组件的状态绑定
Mar 18 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 Javascript
javascript实现简单页面倒计时
Mar 02 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/03/01 无线电
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
js 跨域和ajax 跨域问题小结
2009/07/01 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
Ajax的概述与实现过程
2016/11/18 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python Pexpect库的简单使用方法
2019/01/29 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
一个精品风格的世界:Atterley
2019/05/01 全球购物
Pandora德国官网:购买潘多拉手链、戒指、项链和耳环
2020/02/20 全球购物
介绍一下Linux中的链接
2016/06/05 面试题
工作室成员个人发展规划范文
2014/01/24 职场文书
申请任职学生会干部自荐书范文
2014/02/13 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书