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:为input设置readOnly属性(示例讲解)
Dec 25 Javascript
JavaScript获取URL汇总
Jun 08 Javascript
基于javascript实现简单计算器功能
Jan 03 Javascript
JavaScript函数节流概念与用法实例详解
Jun 20 Javascript
js实现精确到毫秒的倒计时效果
Aug 05 Javascript
js常用DOM方法详解
Feb 04 Javascript
vue-cli项目中使用Mockjs详解
May 14 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
浅谈Vue数据响应
Nov 05 Javascript
微信小程序自定义波浪组件使用方法详解
Sep 21 Javascript
jQuery实现轮播图效果demo
Jan 11 jQuery
JavaScript实现4位随机验证码的生成
Jan 28 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
PHP 的几个配置文件函数
2006/12/21 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
2012/02/07 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
angular多语言配置详解
2019/05/16 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
python查询mysql,返回json的实例
2018/03/26 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
python selenium自动化测试框架搭建的方法步骤
2020/06/14 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
最新优秀教师个人先进事迹材料
2014/05/06 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫