首页 > 其他分享 >因为匿名函数具有全局性,匿名函数的this指向window对象

因为匿名函数具有全局性,匿名函数的this指向window对象

时间:2023-11-15 17:56:10浏览次数:31  
标签:函数 object window uname 匿名 fun

执行以下程序,输出结果为()

var uname = "window";

var object = {

            uname :"object",

            fun:function(){

                console.log(this.uname);

                return function(){

                   console.log(this.uname);

                }

            }

}

object.fun()();

A
object

B
window

C
object window

D
window object

正确答案:C

object.fun()()等效于var fn = object.fun(); fn();
实际上是调用函数两次,第一次是调用object对象的fun函数,第二次是调用fun函数的返回函数。
第一次调用fun函数时,this指向上一级对象,即object对象,因此输出对象object的uname属性值object,
第二次调用的返回函数,其this指向window对象,这是因为匿名函数具有全局性,匿名函数的this指向window对象,因此输出结果为window对象的uname属性值window。

标签:函数,object,window,uname,匿名,fun
From: https://www.cnblogs.com/longmo666/p/17834413.html

相关文章

  • vcpkg install polyclipping:x64-windows Could not locate a manifest (vcpkg.json)
    错误信息表明vcpkg在当前工作目录及其父目录中找不到vcpkg.json文件,因此无法确定要安装的库。这可能是因为你执行vcpkginstall命令的位置不在包含vcpkg.json文件的项目目录中。以下是解决方法:确保在包含vcpkg.json的项目目录中运行命令:打开一个命令行终端。切......
  • 在Dash中更灵活地编写回调函数
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master大家好我是费老师,使用Dash开发过交互式应用的朋友,想必都不会对回调函数感到陌生,作为Dash应用中实现各种交互逻辑的“万金油”方式,不管是常规的@app.callback(),还是对应浏览器端回调的app.clientsid......
  • 软件测试|Windows系统配置pytest+allure环境教程
    前言allure可以输出非常精美的测试报告,也可以和pytest进行完美结合,不仅可以渲染页面,还可以控制用例的执行。本文我们将介绍Windows系统中如何配置allure环境。第一步:配置Java环境因为allure的运行依赖于Java环境,所以我们需要先配置好Java环境,allure需要的Java环境为:JDK1.8+,配置......
  • 无涯教程-Dart - toString()函数
    返回对象的字符串表示形式。toString-语法val.toString()toString-返回类型返回一个字符串。toString-示例voidmain(){intn=12;varres=n.toString();print("NewString:${res}");}它将产生以下输出-。NewString:12参考链接https://w......
  • 11月14日函数的定义
    目录函数的定义1.普通函数定义2.带参数的函数3.带返回值的函数4.匿名函数方式5.箭头函数6.函数体内用arguments关键字接收所有的参数函数的定义1.普通函数定义基本格式functionfunctionName(parameters){//函数体//可以包含多条语句;}例子如下functionfun(......
  • Mysql免安装版(windows)配置
    1.安装包见附件注意:附件不允许上传分卷包,只能zip后缀,下载后需要将.z01,z02,z03后面的.zip删除,最终附件如下mysql-5.7.38-winx64.z01mysql-5.7.38-winx64.z02mysql-5.7.38-winx64.z03mysql-5.7.38-winx64.zip或者去官网下载 https://dev.mysql.com/downloads/mysql/2.安......
  • Linux_C环境编程:时间日期函数总结
    摘自:https://blog.csdn.net/u010429831/article/details/122722187一、时间日期类型Linux下常用的时间类型有6个:time_t,clock_t,structtimeb,structtimeval,structtimespec,structtm1.1time_t类型time_t是一个长整型,一般用来表示从1970年1月1日0时0分0秒以来的秒数......
  • VMware(Windows系统)不能复制粘贴拖拽
    1、先去把网上常见的方法看一遍,都不行。你再来试下面这个。2、wen.bat,通过共享文件放到虚拟机上,进行安装: 去百度网盘捞。链接:https://pan.baidu.com/s/1yokse5BUQ-by9azPGU_sJw?pwd=a123提取码:a123 3、然后就成功了。  共享文件: 本机电脑的IP,通过cmd去查ipco......
  • 理解与使用Javascript中的回调函数
     js里的解释:Acallbackisafunctionthatispassedasanargumenttoanotherfunctionandisexecutedafteritsparentfunctionhascompleted.    从字面上理解下来就是,回调就是一个函数的调用过程。假如函数a有一个参数,这个参数是个函数b,当函数a执行完......
  • day10 函数基础
    day10函数入门目标:掌握函数的编写方式以及函数的基本使用。今日概要:初识函数函数的参数函数的返回值提示:由于昨天的内容比较多,为了减轻大家的学习压力,今天设计的课程内容会比较少。1.初识函数函数到底是个什么东西?函数,可以当做是一大堆功能代码的集合。def函数......