情况一:

如果一个函数中有this,但是没有被上一级调用,this指向window

例:

function a(){

var num='11';

console.log(this.num);  //undefined

console.log(this)           //window

}

a()

情况二:

如果一个函数有this,该函数被上一级调用,this指向上一级函数

例:

var o={

a:'11',

b:function(){

console.log(this.a);     //11

console.log(this)         //o

}

}

o.b();

情况三:

如果一个函数中有this,且该函数包含多个对象,尽管这个函数被最外层调用,this仍指向它的上一级对象

例:

var o=function(){

a:'11',

b:function(){

a:'22',

c:function(){

console.log(this.a);

console.log(this)

}

}

}

o.b.c();

//22    b{}

var j=o.a.b();

j()

//undefined  window

赋值给变量j的时候并没有执行所以最终指向的是window

转载于:https://www.cnblogs.com/wdxue/p/6898184.html

javascript之this指向相关推荐

  1. JavaScript对象this指向(普通键this指向 非指向函数的键)

    1.结论 JavaScript对象普通键(非指向函数的键)this指向是window. 2.示例 <!DOCTYPE html> <html lang="zh"& ...

  2. 图解javascript中this指向

    JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发JavaScript其实很难掌握,有些 ...

  3. Javascript this关键字 指向详解

    Javascript this关键字 指向详解 面向对象语言中 this 表示当前对象的一个引用.在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变. 1) 单独使用 ...

  4. datagridview 当前上下文中不存在bind_全面解析JavaScript中this指向问题

    this指向 参考文章: * this JavaScript中this指向分为以下几种情况: 普通函数或作为对象属性 事件绑定 构造函数 箭头函数 call/apply/bind指定 下面我们来进行一 ...

  5. javascript中 this 指向问题

    前言 this是执行上下文环境的一个属性,而不是某个变量对象的属性. 在全局代码中,this始终是全局对象本身,这样就有可能间接的引用到它了. 在通常的函数调用中,this是由激活上下文代码的调用者来 ...

  6. 理解严格模式下JavaScript的this指向的变化

    全局代码中的this 全局中的代码不管是否处于严格模式下,它的this都执行Window console.log(this) // Window 复制代码 箭头函数的this 箭头函数的this由上下 ...

  7. javascript this指针指向?

    前言 理解javascript的指针就需要先了解js的执行环境和作用域!执行环境的定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有的变 ...

  8. this调用语句必须是构造函数中的第一个可执行语句_详解-JavaScript 的 this 指向和绑定...

    JavaScript 中的 new.bind.call.apply 实际这些都离不开 this,因此本文将着重讨论 this,在此过程中分别讲解其他相关知识点. 注意: 本文属于基础篇,请大神绕路.如 ...

  9. javaScript改变this指向的三种方法

    javaScript提供了一些函数方法帮助我们处理函数内部this的指向问题,常用的有bind().call().apply()三种方法 1.call() 方法调用一个对象.简单理解为调用函数的方式, ...

  10. javascript中this指向问题(es5)

    与我们常见的很多语言不同,JavaScript 函数中的 this 指向并不是在函数定义的时候确定的,而是在调用的时候确定的.换句话说,函数的调用方式决定了 this 指向. JavaScript 中 ...

最新文章

  1. html中单双引号嵌套,[转]详细讲述asp中单引号与双引号(即引号多重嵌套)的用法...
  2. 控制~线性二次型最优控制
  3. eclipse解决maven编码UTF-8的不可映射字符
  4. JAVA中String与StringBuffer的区别
  5. 中国农业银行数据中心智能布线系统
  6. Scrapy爬虫基本使用
  7. oracle 数据库 锁
  8. 典型微型计算机控制系统的实例,微型计算机控制系统概述.ppt
  9. 棒棒糖 宏_棒棒糖图表
  10. 不同语言编程能整合到一起吗_学习编程入门指南
  11. [转载] python3基础:异常处理及python常见异常类型总结
  12. 线程中消费者生产者的实例代码(synchronized关键字)
  13. RAC3——RAC原理开始
  14. 安全篇 ━━ ITlearner ASP探针 V1.2
  15. Java 猜单词游戏
  16. android badgeview activity不显示,关于BadgeView遇到的一个奇怪的问题和解决办法
  17. 苹果公司CEO乔布斯演讲的15个秘诀
  18. DEDE源码分析与学习之三: member/archives_*.php文件解读
  19. Java如何实现贪吃蛇小游戏
  20. python基金比较上机题_使用python筛选基金

热门文章

  1. 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛
  2. 烂泥:KVM虚拟机的关机与开启
  3. shell中find详解
  4. (转)战斗bug技巧全攻略
  5. 编译mcu media server
  6. 【多媒体封装格式详解】---MKV【2】
  7. linux动态时钟探索
  8. python劣势_Ruby对比Python的优势和劣势
  9. 解决在servlet中输出html的中文输出为问号的问题
  10. spark MetaException(message:Version information not found in metastore. )