函数四种调用模式以及其中的this指向

 更新时间:2017年01月16日 16:18:30   作者:九成  
本文主要介绍了函数四种调用模式以及其中的this指向的相关知识,具有一定的参考价值,下面跟着小编一起来看下吧

第一种:函数直接执行模式

function add(a,b){
   console.log(this);
   return a+b;
  }
 add(10,20)//this===window

第二种:对象方法的调用模式

var obj={
   name:'aaa',
   age:20,
   said:function(){
    console.log(this);
   }
  }
obj.said();//this===obj,此处this指代被调用者

第三种:构造器的调用模式

function School(){
   this.said=function(){
    console.log(this);
   }
  }
var nanj=new School();
nanj.said();//对象调用自己的方法,this===nanj,类似上面

第四种:call和apply调用模式

function change(a,b){
   this.detial=a*b;
   console.log(this);
  }
  var p={};
  change.call(p,4,5);//此处的this===p
  console.log(p.detial);
  var q=[];
  change.call(q,5,10)//this===q
  console.log(q.detial);
  //apply和call一样的用法,只不过apply第二个参数用数组进行传递
  var arr=[];
  change.apply(arr,[10,10]);//this===arr
  console.log(arr.detial);
  var str={};
  change.apply(str,[20,20]);//this===str
  console.log(str.detial);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • JavaScript让Textarea支持tab按键的方法

    JavaScript让Textarea支持tab按键的方法

    这篇文章主要介绍了JavaScript让Textarea支持tab按键的方法,涉及javascript针对textarea实现响应tab按键的方法,需要的朋友可以参考下
    2015-06-06
  • JavaScript引擎实现async/await的方法实例

    JavaScript引擎实现async/await的方法实例

    大家应该都知道随着Node 7的发布,越来越多的人开始研究据说是异步编程终级解决方案的async/await,下面这篇文章主要给大家介绍了关于JavaScript引擎是如何实现async/await的相关资料,需要的朋友可以参考下
    2022-03-03
  • 刷新页面实现方式总结(HTML,ASP,JS)

    刷新页面实现方式总结(HTML,ASP,JS)

    多种方法实现页面的刷新代码
    2008-11-11
  • 原生js拖拽(第一课 未兼容)拖拽思路

    原生js拖拽(第一课 未兼容)拖拽思路

    第一步点击需要拖动的元素,在点击下的元素被选中,进行move移动,当鼠标弹起的时候,停止动作.点击元素oDIV的时候,可用的是oDIV区域,而move和up则是全局区域
    2013-03-03
  • Bootstrap实现基于carousel.js框架的轮播图效果

    Bootstrap实现基于carousel.js框架的轮播图效果

    这篇文章主要为大家详细介绍了Bootstrap实现基于carousel.js框架的轮播图效果,无过渡动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • JS和JQuery实现雪花飘落效果

    JS和JQuery实现雪花飘落效果

    本文主要给大家讲述了如何用JS和JQuery两种方式实现雪花飘落的动画效果,有需要的朋友收藏一下吧。
    2017-11-11
  • 分享JS表单验证源码(带错误提示及密码等级)

    分享JS表单验证源码(带错误提示及密码等级)

    这篇文章主要介绍了JS表单验证源码(带错误提示及密码等级),代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • JavaScript中发布/订阅模式的简单实例

    JavaScript中发布/订阅模式的简单实例

    这篇文章主要介绍了JavaScript中发布/订阅模式的简单实例,本文给出了一个简单易懂的实现代码,比较容易理解,需要的朋友可以参考下
    2014-11-11
  • 只出现一次的提示信息(js+cookies)

    只出现一次的提示信息(js+cookies)

    只显示一次的提示信息,刷新一页面或第二次来到这个页面,就不会再弹出提示窗口了,用在网页上是想当实用的吧,因为很多人都不希望经常弹出什么窗口,本效果因此会提升用户体验,让用户喜欢你的网页
    2013-03-03
  • JavaScript实现异步提交表单数据

    JavaScript实现异步提交表单数据

    这篇文章主要为大家详细介绍了JavaScript实现异步提交表单数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05

最新评论