javascript之this指向
情况一:
如果一个函数中有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指向相关推荐
- JavaScript对象this指向(普通键this指向 非指向函数的键)
1.结论 JavaScript对象普通键(非指向函数的键)this指向是window. 2.示例 <!DOCTYPE html> <html lang="zh"& ...
- 图解javascript中this指向
JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发JavaScript其实很难掌握,有些 ...
- Javascript this关键字 指向详解
Javascript this关键字 指向详解 面向对象语言中 this 表示当前对象的一个引用.在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变. 1) 单独使用 ...
- datagridview 当前上下文中不存在bind_全面解析JavaScript中this指向问题
this指向 参考文章: * this JavaScript中this指向分为以下几种情况: 普通函数或作为对象属性 事件绑定 构造函数 箭头函数 call/apply/bind指定 下面我们来进行一 ...
- javascript中 this 指向问题
前言 this是执行上下文环境的一个属性,而不是某个变量对象的属性. 在全局代码中,this始终是全局对象本身,这样就有可能间接的引用到它了. 在通常的函数调用中,this是由激活上下文代码的调用者来 ...
- 理解严格模式下JavaScript的this指向的变化
全局代码中的this 全局中的代码不管是否处于严格模式下,它的this都执行Window console.log(this) // Window 复制代码 箭头函数的this 箭头函数的this由上下 ...
- javascript this指针指向?
前言 理解javascript的指针就需要先了解js的执行环境和作用域!执行环境的定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有的变 ...
- this调用语句必须是构造函数中的第一个可执行语句_详解-JavaScript 的 this 指向和绑定...
JavaScript 中的 new.bind.call.apply 实际这些都离不开 this,因此本文将着重讨论 this,在此过程中分别讲解其他相关知识点. 注意: 本文属于基础篇,请大神绕路.如 ...
- javaScript改变this指向的三种方法
javaScript提供了一些函数方法帮助我们处理函数内部this的指向问题,常用的有bind().call().apply()三种方法 1.call() 方法调用一个对象.简单理解为调用函数的方式, ...
- javascript中this指向问题(es5)
与我们常见的很多语言不同,JavaScript 函数中的 this 指向并不是在函数定义的时候确定的,而是在调用的时候确定的.换句话说,函数的调用方式决定了 this 指向. JavaScript 中 ...
最新文章
- html中单双引号嵌套,[转]详细讲述asp中单引号与双引号(即引号多重嵌套)的用法...
- 控制~线性二次型最优控制
- eclipse解决maven编码UTF-8的不可映射字符
- JAVA中String与StringBuffer的区别
- 中国农业银行数据中心智能布线系统
- Scrapy爬虫基本使用
- oracle 数据库 锁
- 典型微型计算机控制系统的实例,微型计算机控制系统概述.ppt
- 棒棒糖 宏_棒棒糖图表
- 不同语言编程能整合到一起吗_学习编程入门指南
- [转载] python3基础:异常处理及python常见异常类型总结
- 线程中消费者生产者的实例代码(synchronized关键字)
- RAC3——RAC原理开始
- 安全篇 ━━ ITlearner ASP探针 V1.2
- Java 猜单词游戏
- android badgeview activity不显示,关于BadgeView遇到的一个奇怪的问题和解决办法
- 苹果公司CEO乔布斯演讲的15个秘诀
- DEDE源码分析与学习之三: member/archives_*.php文件解读
- Java如何实现贪吃蛇小游戏
- python基金比较上机题_使用python筛选基金
热门文章
- 1734: [Usaco2005 feb]Aggressive cows 愤怒的牛
- 烂泥:KVM虚拟机的关机与开启
- shell中find详解
- (转)战斗bug技巧全攻略
- 编译mcu media server
- 【多媒体封装格式详解】---MKV【2】
- linux动态时钟探索
- python劣势_Ruby对比Python的优势和劣势
- 解决在servlet中输出html的中文输出为问号的问题
- spark MetaException(message:Version information not found in metastore. )