情况1:

作为函数调用

var yazi={
    jiao:function(){
        var ji=function(){
            console.log(this);
        }
        ji();
    }
}
yazi.jiao();//window

function jiao(){

  console.log(this);

}

jiao();//window

当一个函数并非一个对象的属性时,那么它就是被当做函数来调用的。在此种模式下,this被绑定为全局对象,在浏览器环境下就是window对象

2.方法调用式

var yazi={

  jiao:function(){

    console.log(this);

  }

}

yazi.jiao();//yazi

当函数被保存为一个对象的属性时,它就可称为这个对象的方法。当一个方法被调用时,this被绑定到这个对象上。如调用表达式包含一个提取属性的动作

3.构造函数式

function person(){

   name:'hanhongshuai';

  sleep:function(){

    console.log(this.name);

  }

}

new person.sleep();

如果在一个函数前面加上new关键字来调用,那么就会创建一个连接到该函数的prototype成员的新对象,同时,this会被绑定到这个新对象上

4.apply,call方法模式:

var yazi={

   shengyin:'嘎嘎';

  jiao:function(){

    console.log(this.shengyin);

  }

}

var ji={shengyin:'jiji';}

yazi.jiao.call(ji);//jiji

js中,函数也是对象,所有函数对象都有两个方法:apply和call,这两个方法可以让我们构建一个参数数组传递给调用函数,允许我们改变this的值

转载于:https://www.cnblogs.com/hhs6880/p/6638880.html

js的apply方法使用详解,绝对NB相关推荐

  1. JS 中 valueOf() 方法的详解

    JS 中 valueOf() 方法的详解 JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对象没有原始值,则将返回对象本身.通常由JavaScript内部调用,而不是在 ...

  2. colsure php_PHP_PHP中Closure类的使用方法及详解,Closure,匿名函数,又称为Anonym - phpStudy...

    PHP中Closure类的使用方法及详解 Closure,匿名函数,又称为Anonymous functions,是php5.3的时候引入的.匿名函数就是没有定义名字的函数.这点牢牢记住就能理解匿名函 ...

  3. oracle大对象实例_Oracle解析复杂json的方法实例详解

    问题背景: 当前在Oracle数据库(11G之前的版本)解析json没有可以直接使用的系统方法,网上流传的PLSQL脚本大多也只可以解析结构较单一的json串,对于结构复杂的json串还无法解析.如此 ...

  4. js showModalDialog参数的使用详解(转)

    js showModalDialog参数的使用详解_javascript技巧_脚本之家 http://www.jb51.net/article/45281.htm 本篇文章主要是对js中showMod ...

  5. [js]JavaScript Number.toPrecision() 函数详解

    [js]JavaScript Number.toPrecision() 函数详解 JavaScript: numberObject.toPrecision( [ precision ] ) 如果没有提 ...

  6. mvc ajax提交html标签,Mvc提交表单的四种方法全程详解

    Mvc提交表单的四种方法全程详解 2019-01-05 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了Mvc提交表单的四种方法全程详解,编程之家小编觉得挺不错的 ...

  7. rename python_谈谈重命名方法renames详解

    这篇文章主要介绍了python下os模块强大的重命名方法renames详解的相关资料,需要的朋友可以参考下python下os模块强大的重命名方法renames详解 在python中有很多强大的模块,其 ...

  8. js购物车功能php,使用JS实现购物车功能步骤详解

    这次给大家带来使用JS实现购物车功能步骤详解,使用JS实现购物车功能的注意事项有哪些,下面就是实战案例,一起来看一下. 我们肯定都很熟悉商品购物车这一功能,每当我们在某宝某东上购买商品的时候,看中了哪 ...

  9. JS中的event 对象详解

    JS中的event 对象详解 JS的event对象 Event属性和方法: 1. type:事件的类型,如onlick中的click: 2. srcElement/target:事件源,就是发生事件的 ...

最新文章

  1. WebView你真的熟悉吗?看了才知道
  2. 进程内COM与进程外COM
  3. delphi和 java通过socket通信的中文问题
  4. ES7和ES8的了解
  5. CSS——基础选择器
  6. android图片异步加载解决步骤
  7. 插入排序算法(C实现)
  8. Redmi 10X Pro样张首曝:搭载流光相机技术 一键成创意大片
  9. Matlab产生随机数、随机矩阵及正态分布矩阵
  10. 优秀ASP.NET程序员的修炼之路(转)
  11. BZOJ 2761: [JLOI2011]不重复数字( )
  12. bin、hex、elf、axf文件的区别
  13. 费马小定理 欧拉定理 逆元
  14. 德语语法笔记——名词的变格
  15. python最强web框架fastapi,比肩go,nodejs
  16. 四种解决Vue中重复点击相同路由控制台报错问题( Avoided redundant navigation to current location)
  17. Ubuntu系统崩溃如何恢复数据
  18. HighTec编译器获取不到license常见原因
  19. 基于PHP+mysql的社区人口管理系统的设计与实现
  20. Python闭包(closure)详解

热门文章

  1. tomcat 配置方法
  2. Android Volley完全解析4:带你从源码的角度理解Volley
  3. 服务器通过光纤模块挂载存储服务器
  4. python数据库操作批量sql执行_使用Python批量修改数据库执行Sql文件
  5. html显示elasticsearch,ElasticSearch查询:高亮显示(10)
  6. python列表的嵌套,Python检查列表是否嵌套
  7. aapt.exe已停止工作 r.java_【转】android错误 aapt.exe已停止工作的解决方法
  8. c++求矩阵的秩_一篇文章搞定矩阵相关概念及意义通俗解释汇总
  9. Windows7 IIS 500-内部服务器错误的解决方法
  10. Linux 中使用 KVM