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 相关文章推荐
Eclipse配置Javascript开发环境图文教程
Jan 29 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
Mar 12 Javascript
jQuery获取标签文本内容和html内容的方法
Mar 27 Javascript
Jquery常用的方法汇总
Sep 01 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
Jun 07 Javascript
Javascript随机标签云代码实例
Jun 21 Javascript
jquery自定义表单验证插件
Oct 12 Javascript
JS实现类似51job上的地区选择效果示例
Nov 17 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
Dec 13 Javascript
详解AngularJS2 Http服务
Jun 26 Javascript
浅谈如何优雅处理JavaScript异步错误
Nov 12 Javascript
Vue Router的手写实现方法实现
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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
javascript处理table表格的代码
2010/12/06 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
vue-cli4项目开启eslint保存时自动格式问题
2020/07/13 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
Python 文件数据读写的具体实现
2020/01/24 Python
对python中return与yield的区别详解
2020/03/12 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
机械制造毕业生求职信
2014/03/03 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
超市客服工作职责
2014/06/11 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL