介绍:

  • this:引用环境执行的环境对象
  • arguments:一个类数组对象,它包含传入函数的所以参数
  • callee:arguments对象的一个属性,该属性是一个指针,指向拥有arguments对象的函数
  • caller:保存着调用当前函数的函数引用
  • apply()方法:第一个参数是作用域,第二个参数是Array实例或者arguments对象
  • call()方法:第一个参数是作用域,第二个参数是数组枚举

实例:

//this
window.color = "red"; // 全局中定义了一个"color",值为"red"
var o = { color : "blue" };  // 定义了一个对象o
function sayColor() {  // 定义了一个方法 sayColor()alert ( this.color );
}sayColor();  // "red",在全局中执行,所以this指向的作用域是window
o.sayColor = sayColor;
o.sayColor(); // "blue", 作用域变成o,this引用的对象是o
//callee、caller
function outer(){  // inner.caller指向outerinner();
}
function inner(){  // arguments.callee 指向inner console.log(arguments.callee.caller);
}
outer();
//使用appply扩充函数运行的作用域
window.color = "red";
var o = {color: "blue"};function sayColor(){alert(this.color);sayColor();     // "red"
sayColor.call(this);  // "red"
sayColor.call(window); // "red"
sayColor.call(o);   // "blue"  ,传入了o,改变了函数的作用域

JavaScript --- this相关推荐

  1. 【AJAX】JavaScript的面向对象

    Ajax中后端数据返回后需要前端通过JavaScript来实现动态数据更新的问题.所以,在Ajax中加深了一遍JavaScript面向对象的印象. 基础部分: JavaScript中创建对象并简单对象 ...

  2. 【JavaScript总结】JavaScript语法基础:JS高级语法

    作用域链: 1.JS中只有函数能够限定作用域的范围: 2.变量处理在制定的函数范围内,还有一个特殊的作用域,就是没有用var 声明的全局作用域 3.js中的作用域链是为了清晰的表示出所有变量的作用范围 ...

  3. 【JavaScript总结】JavaScript语法基础:DOM

    ->DOM的理解:文档对应dom树 ->有了DOM能做什么:DOM的操作 html文档做为DOM树模型,DOM树的节点就是对象.对象会触发事件来执行一些事件代码. C#中的事件是一个委托变 ...

  4. 【JavaScript总结】JavaScript语法基础:JS编码

    运算符 数学:+. -. *. / 逻辑:>. < .>= .<=. == . !=.&&.|| . === .!==(完全等于) 对象相关 new delet ...

  5. 【JavaScript总结】JavaScript语法基础:数据类型

    ------>数据类型有哪些? ->基本类型:数字类型,布尔类型,字符串类型 ->引用类型:对象类型,函数类型 ->空类型:null 和 undefined ->运算符: ...

  6. 【JavaScript总结】JavaScript发展与学习内容

    发展: 最初浏览器是为大学里浏览文档用,从地址栏输入文档地址,找到文档显示. 后来各种需求(购物网站,个人博客)出现,已有功能不能满足需求. 可人们依旧在努力满足这种需求,但实现后的效果很不尽人意. ...

  7. Python:模拟登录、点击和执行 JavaScript 语句案例

    案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...

  8. [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)

    课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...

  9. [JavaScript] JavaScript 数组挖掘,不只是讲数组哟

    课程来源:后盾人 数组引用类型分析 数组的定义 const array = new Array('hello', 'dust', 1, 2, 3, 4, 5) console.log(array) l ...

  10. linux下用js生成xml,js2xml:将javascript字符串转换为xml

    有时候爬数据遇到像下面这种,数据在script标签中以javascript形式存在. var totalReviewsValue = 32; var averageRating = 4.5; if(t ...

最新文章

  1. iOS 11 导致tableview 刷新之后漂移问题
  2. SAP WM初阶之MIGO过账后自动调用LT06事务代码
  3. 明明白白学C#第0章准备工作
  4. 这两天做项目出现的几个问题
  5. xfce的开始菜单增加搜索框
  6. jquery监听滚动条
  7. 2017年10月2日日志
  8. mysql动态加载数据库数据库_Mysql动态更新数据库脚本的示例讲解
  9. spring mvc文件上传与下载
  10. 温度转换python代码解释_python温度转换代码
  11. Cesium中如何获取鼠标单击位置的经纬度
  12. 贪婪洞窟2服务器维护,贪婪洞窟211月30日更新维护公告 贪婪洞窟211月30日更新了那些内容...
  13. R语言查找data.frame里面是否包含某些变量。
  14. 《JAVA高并发编程详解》-七种单例模式
  15. lect02_codes02_pandas
  16. 2023 年的 Web Worker 项目实践
  17. 张学友十大粤语十大国语金曲赏析
  18. 第七十篇:从ADAS到自动驾驶(三):车道检测
  19. 计蒜客习题:走迷宫2
  20. 宝塔面板安装docker挂网心云

热门文章

  1. python怎么调用列表_Python中列表的使用
  2. mysql第四章分页显示查询出租房屋信息_MYSQL必知必会读书笔记第四章之检索数据...
  3. 移动超级sim卡 无法下载卡_中国移动发布超级SIM卡:全变了
  4. maven下载源码linux,Maven 下载 源码和javadoc 命令
  5. OBJ可视化——UV还原(修正)
  6. python中的print
  7. Python机器学习实践:决策树判别汽车金融违约用户
  8. 【bzoj4712】洪水
  9. JVM调优总结(3):垃圾回收面临的问题
  10. 前端性能优化 Web前端应该从哪些方面来优化网站?