首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何访问被调用函数的当前元素属性名称

要访问被调用函数的当前元素属性名称,可以使用JavaScript中的arguments对象和caller属性来实现。

在JavaScript中,每个函数都有一个内部对象arguments,它包含了函数被调用时传递的所有参数。arguments对象还有一个callee属性,它指向当前正在执行的函数。

通过arguments.callee可以获取到当前正在执行的函数对象,然后使用caller属性可以获取到调用该函数的函数对象。通过调用函数对象的name属性,可以获取到函数的名称。

下面是一个示例代码:

代码语言:txt
复制
function getCallerPropertyName() {
  // 获取调用getCallerPropertyName函数的函数对象
  var caller = getCallerPropertyName.caller;
  
  // 获取调用函数的属性名称
  var propertyName = null;
  for (var prop in caller) {
    if (caller[prop] === getCallerPropertyName) {
      propertyName = prop;
      break;
    }
  }
  
  return propertyName;
}

function testFunction() {
  console.log("调用函数的属性名称为:" + getCallerPropertyName());
}

testFunction();  // 输出:调用函数的属性名称为:testFunction

在上述示例中,getCallerPropertyName函数通过arguments.callee获取到当前正在执行的函数对象,然后通过caller属性获取到调用该函数的函数对象。接着,通过遍历调用函数对象的属性,找到值为getCallerPropertyName的属性,即可获取到调用函数的属性名称。

需要注意的是,由于安全性和性能的原因,现代JavaScript引擎对arguments.callee和caller属性的支持逐渐减弱,可能会导致在某些环境中无法正常使用。因此,在实际开发中,建议使用其他方式来实现类似的功能,例如通过传递参数或使用闭包等方式来获取所需的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux下c语言中main函数如何调用

当我们在shell下执行一个程序时候,shell内部首先会用fork系统调用来新建一个进程,然后再用execve系统调用把目标程序加载到内存中,并将其参数及环境变量等压入栈中,之后再执行目标程序入口函数...也就是说,kernelexecve系统调用在加载完目标程序后,执行第一个函数,就是上面的_start函数。...,把stack_end压入栈中,至此,将要调用__libc_start_main函数参数已准备完毕,最后通过call指令,调用__libc_start_main函数。...__libc_start_main函数在执行了大段准备代码之后,最终调用了我们main函数。...在main函数返回之后,将其结果赋值给result,然后再调用exit(result)作为该程序返回值。 至此,一个程序完整生命周期就结束了。 完。

3.3K20

WinCC VBS 脚本实用技巧问答 (TIA Portal )

2、如何在一个脚本中访问数组中元素?...对数组元素访问是通过数组名称和数组中由括号分隔数组索引来实现:“SmartTags("Array Name")(array index) ” 例如 访问数组 "DB10_HMI_Data...WinCC Professional在用户定义C函数里可以调用DLL函数 (DLL = Dynamic Link Library) 。 5、如何用VBS脚本确定鼠标当前位置?...13、如何确定当前画面的编号和画面名称? 通过预定义 VB 函数 “HmiRuntime.BaseScreenName ” 返回值提供了当前画面的名字。...20、如何在脚本中访问一个画面或者模板对象? 组态 “Runtime” 对象属性 “ ActiveScreen ”,可以找到画面上组态对象名字和修改相关属性

5.5K20
  • JavaScript 网页脚本语言 由浅入深

    函数名 (参数1,参数2,参数3.....){ //javaScript语句 [return 返回值]---可有可无 调用函数 函数调用一般和表单元素事件一起使用,调用格式 事件名="函数名()" onload...一个页面或者一幅图像完成加载 onlick 鼠标单击某个对象 onmouseover 鼠标指导移到某元素上 onkeydown 某个键盘按键按下 onchange 域内容改变 } 为什么要学习...有关客户访问URL信息 location  有关当前URL信息 语法: Window.属性名="属性值"; 示例:Window.location="http://www.bdqn.cn" 常用方法...如何实现返回整数范围为2到99之间数 var inum=Math.floor(Math.random()*98+2) 定时函数 setTimeout() setTimeout("调用函数",等待毫秒数...  上一个节点 element属性 属性名称    描述 firstRlrmentChild  返回节点第一个子节点,最普遍做法是访问元素文本节点 lastElementChild  返回节点最后一个子节点

    1.8K100

    Java培训实战教程之Java基础知识精华部分(一)(二)(三)

    总结:开发时,记住,属性是用于存储数据,直接访问,容易出现安全隐患,所以,类中属性通常被私有化,并对外提供公共访问方法。...注意:主函数存在,仅为该类是否需要独立运行,如果不需要,主函数是不用定义。 主函数解释:保证所在类独立运行,是程序入口,jvm调用。...调用是成员属性和成员方法(一般方法), this对象后面跟上 () 调用是本类中对应参数构造函数。...(方法中没有调用特有数据时就定义成静态) 如何判断成员函数是否需要被静态修饰呢?...只要参考,该函数内是否访问了对象中特有数据: 如果有访问特有数据,那方法不能静态修饰。

    37920

    REDHAWK——组件结构

    在组件基类上调用 start() 后,serviceFunction() 方法会定期调用。 constructor() 这是组件/设备构造函数。...当这个函数调用时,类型为 property 属性会被初始化到它们默认状态或者重载状态。 三、基础组件成员 本节概述了组件类可用成员。...当在 REDHAWK IDE 组件生成向导中选择一个端口时,实现这些接口代码将自动生成。 不管方向如何,端口都作为组件基类成员访问。...属性变更监听器在持有保护组件所有属性访问同时执行。这确保在响应属性变化时不会发生外部变化。回调方法可能会更改属性值或调用额外函数;然而,避免进行计算成本高昂或阻塞操作。...开发者可能还希望对如何设置属性值有更多控制权。组件支持每个属性回调函数,以自定义查询和配置行为。 当组件收到该属性 query() 时,将调用查询回调,代替查询本地状态。

    14310

    java基础知识总结(绝对经典)

    注意:函数中只能调用函数,不能定义函数。 主函数: 1)、保证该类独立运行。 2)、因为它是程序入口。 3)、因为它在被jvm调用函数定义名称是为什么呢?...好处:可以在函数中加入逻辑判断等操作,对数据进行判断等操作。 总结:开发时,记住,属性是用于存储数据,直接访问,容易出现安全隐患,所以,类中属性通常被私有化,并对外提供公共访问方法。...调用是成员属性和成员方法(一般方法); this对象后面跟上 () 调用是本类中对应参数构造函数。 注意:用this调用构造函数,必须定义在构造函数第一行。...(方法中没有调用特有数据时就定义成静态) 如果判断成员函数是否需要被静态修饰呢? 只要参考,该函数内是否访问了对象中特有数据: 如果有访问特有数据,那方法不能静态修饰。...如果子类构造函数中用this来指定调用子类自己构造函数,那么调用构造函数也一样会访问父类中构造函数。 问题:super()和this()是否可以同时出现构造函数中。

    65400

    JavaScript 权威指南第七版(GPT 重译)(三)

    标识符必须直接输入到你 JavaScript 程序中;它们不是一种数据类型,因此不能程序操作。 另一方面,当你使用[]数组表示法访问对象属性时,属性名称表示为字符串。...如果函数表达式是一个属性访问表达式——如果函数是对象属性或数组元素——那么它就是一个方法调用表达式。这种情况将在下面的示例中解释。...函数表达式本身是一个属性访问表达式,这意味着该函数作为方法而不是作为常规函数调用。 方法调用参数和返回值处理方式与常规函数调用完全相同。然而,方法调用函数调用有一个重要区别:调用上下文。...要记住解构赋值和解构函数调用规则是,声明变量或参数放在你期望值在对象字面量中位置。因此,属性名称始终在冒号左侧,参数(或变量)名称在右侧。 你可以使用解构参数定义参数默认值。...8.7.2 名称属性 函数只读name属性指定函数在定义时使用名称,如果它是用名称定义,或者在创建时未命名函数表达式分配给变量或属性名称。当编写调试或错误消息时,此属性非常有用。

    23810

    后端逆袭,一份不可多得PHP学习指南

    构造函数是通过new对象时候会被调用。 其次析构函数是什么?析构函数首先不能带有参数,析构函数会在对象所有引用被删除或者显示消失之前调用。 <?...isset()函数检测不可访问属性或者不存在属性时自动调用。..._unset当在类外部调用unset销毁不可访问属性时自动调用。 如下示例表示: <?...isset()函数检测不可访问属性或者不存在属性时自动调用'; return isset($name); // boolean } public function _unset($name)...final修饰过class和方法不能继承或者重写 使用static关键字 static用于表示静态意思: static所修饰属性和方法都是静态属性和方法 静态属性和方法特点是不用通过对象来调用属性和方法

    2.8K30

    javaScript基础最全 最精美 不好打我好吧

    使⽤typeof操作符获取基本数据类型 遇到引用类型的话 处理就是对象 7函数 ? 三种定义方法: ? 使用的话注意一个特殊调用 ?...每一个HMTL标签都是一个元素节点(标签)。 标签中文字则是文字节点。(文本) 标签属性属性节点。...(复制节点及其所有子节点), false 表示浅复制(复制节点本身,不复制子节点) 节点属性(节点.属性) 获取:getAttribute(名称)、节点.属性、节点[“属性”]。...事件 事件三要素: 事件源 事件 事件驱动程序 常用事件: onabort 图像加载中断。 onblur 元素失去焦点。 onchange 域内容改变。...History 对象 History 对象包含用户(在浏览器窗口中)访问 URL。 可通过 window.history 属性对其进行访问

    1.3K30

    【专业技术】还有人在用Qt开发app嘛?

    .应用Qt元对象系统(Qt's Meta-Object System)可以将C++中函数导入作为QML元素属性进行访问.利用QML和Qt C++,可高效将界面逻辑与应用程序逻辑解耦. ?...Rectangle 元素设置属性方式为:属性名称,后跟冒号,而后是值.本例中,颜色grey赋给了矩形color属性.同样设置了矩形width和height属性....Qt.darker(buttonColor, 1.5) : buttonColor } 完整功能按钮代码在Button.qml中.上述代码片段有些省略,因为有些已经在上节中介绍过或与当前讨论无关....创建菜单页 上节中阐述了如何创建元素并在单独QML文件中设置行为.本节将说明如何导入QML元素,如何重用已有组件构建其他组件....onButtonClick处理函数,由Button.qml中定义onButtonClick来触发调用. ?

    4.7K70

    Python基础之:Python中

    局部名称(local names),函数中定义名称,记录了函数变量,包括函数参数和局部定义变量。(类中定义也是) 命名空间搜索顺序是 局部名称-》全局名称-》内置名称。...解释器顶层调用执行语句,比如从一个脚本文件读取程序或交互式地读取程序,认为是 __main__ 模块调用一部分,因此它们也拥有自己全局命名空间。...比如两个嵌套函数,一个函数(或类) A 里面又包含了一个函数 B ,那么对于 B 中名称来说 A 中作用域就为 nonlocal。 Global:当前脚本最外层,比如当前模块全局变量。...我们可以通过这个类对象来访问类中定义属性和方法。...该函数返回一个定义了 __next__() 方法迭代器对象,此方法将逐一访问容器中元素。当元素用尽时,__next__() 将引发 StopIteration 异常来通知终止 for 循环。

    72920

    Python基础之:Python中

    局部名称(local names),函数中定义名称,记录了函数变量,包括函数参数和局部定义变量。(类中定义也是) 命名空间搜索顺序是 局部名称-》全局名称-》内置名称。...解释器顶层调用执行语句,比如从一个脚本文件读取程序或交互式地读取程序,认为是 __main__ 模块调用一部分,因此它们也拥有自己全局命名空间。...比如两个嵌套函数,一个函数(或类) A 里面又包含了一个函数 B ,那么对于 B 中名称来说 A 中作用域就为 nonlocal。 Global:当前脚本最外层,比如当前模块全局变量。...我们可以通过这个类对象来访问类中定义属性和方法。...该函数返回一个定义了 __next__() 方法迭代器对象,此方法将逐一访问容器中元素。 当元素用尽时,__next__() 将引发 StopIteration 异常来通知终止 for 循环。

    79020

    Python基础之:Python中

    局部名称(local names),函数中定义名称,记录了函数变量,包括函数参数和局部定义变量。(类中定义也是) 命名空间搜索顺序是 局部名称-》全局名称-》内置名称。...解释器顶层调用执行语句,比如从一个脚本文件读取程序或交互式地读取程序,认为是 __main__ 模块调用一部分,因此它们也拥有自己全局命名空间。...比如两个嵌套函数,一个函数(或类) A 里面又包含了一个函数 B ,那么对于 B 中名称来说 A 中作用域就为 nonlocal。 Global:当前脚本最外层,比如当前模块全局变量。...我们可以通过这个类对象来访问类中定义属性和方法。...该函数返回一个定义了 __next__() 方法迭代器对象,此方法将逐一访问容器中元素。 当元素用尽时,__next__() 将引发 StopIteration 异常来通知终止 for 循环。

    74450

    高级 Vue 组件模式 (6)

    06 通过 Directive 增强组件内容 目标 之前五篇文章中,switch 组件一直是视为内部组件存在,细心读者应该会发现,这个组件除了帮我们提供开关交互以外,还会根据当前 toggle...开关状态,为 button 元素增加 aria-expanded 属性,以 aira 开头属性叫作内容增强属性,它用于描述当前元素某种特殊状态,帮助残障人士更好地浏览网站内容。...但是,作为组件调用者,未必会对使用这种相关属性对网站内容进行增强,那么如何更好地解决这个问题呢?答案就是使用 directive。...我们期望能够显示地声明当前元素是一个 toggler 职能组件或者元素,这个组件或者元素,可以根据当前 toggle 组件开关状态,动态地更新它本身 aria-expanded 属性,以便针对无障碍访问提供适配...,就是通过传入指令表达式值来判定,是否在当前元素上增加一个 aria-expanded 属性

    58620

    对Python老司机99%有帮助简明语法总结乱编

    最近发现进入python群朋友都在你是如何自学python语法,每当问到这个问题时,我内心是坦荡,因为我不知道到底我接下来说这些话会给看到各位带来什么?...安装第三方模块 pip install 模块名称 使用__future__ future可以把下个版本新功能添加到当前版本 面向对象编程 ---- 类和实例 定义类 classClassName(SuperClass...也可以通过添加getter、setter来控制访问操作。 继承和多态 继承就在定义时候写上父类名称,多态就覆盖父类方法。...__ = (允许属性) 使用@property 如下,定义了一个score属性 @propertydefscore(self):returnself....当找不到这个属性时候会调用这个方法 call当使用instance()这样来把对象实例当成方法调用时候,其实调用就是__call__。

    1.3K70

    PHP学习笔记(二)——行云博客

    > 7.4命名空间和动态语言特征 动态访问命名空间元素,PS:因为在动态名称函数名称或常量名称中,限定名称和完全限定名称没有区别,因此其前导反斜杠是不必要。 test.php 7.5namespace关键字和__NAMESPACE__常量 PHP支持两种抽象访问当前命名空间内部元素方法,NAMESPACE 魔术常量和namespace关键字。...2.关键字 namespace 可用来显式访问当前命名空间或子命名空间中元素。它等价于类中 self 操作符。 <?...该变量值对外是不可见,但是可以通过成员函数访问,在类实例化为对象后,该变量即可称为对象属性。 成员函数 − 定义在类内部,可用于访问对象数据。...**private(私有):**私有的类成员则只能其定义所在访问。 8.7.1属性访问控制 <?

    3.7K30

    AngularJs指令解密

    如果一个元素上具有两个优先级相同指令,声明在前面的那个会被优先调用。如果其中一个优先级更高,则不管声明顺序如何都会被优先调用:具有更高优先级指令总是优先运行。...默认值意味着模板会被当作子元素插入到调用此指令元素内部: 调用指令之后结果如下(这是默认replace为false时情况): 如果replace设置为了true: 指令调用结果将是:...: \$scope: 与指令元素相关联的当前作用域 \$element: 当前指令对应元素 \$attrs: 由当前元素属性组成对象 \$transclude: 嵌入链接函数会与对应嵌入作用域进行预绑定...require(字符串String | 数组Array) 字符串或数组元素值是会在当前指令作用域中使用指令名称。...\$parsers:\$parsers值是一个由函数组成数组,其中函数会以流水线形式逐一调用。ngModel从DOM中读取值会被传入\$parsers中函数,并依次其中解析器处理。

    2.2K70

    vue面试考察知识点全梳理

    &初始化state(props、data、methods、watch、computed 等属性)前后故在beforeCreate方法中无法使用this访问当前实例,也无法访问data、props等;使用场景...计算属性 VS 侦听属性计算属性计算属性触发有以下两种情况:主动访问:当计算属性访问时触发getter函数,执行用户返回计算结果,如果返回值发生变化才触发渲染更新(有缓存,依赖发生变化才执行)。...读取 scoped-slot 属性并赋值给当前元素节点 slotScope 属性,接下来在构造 AST树时候,不会作为 children 添加到当前 AST 树中,而是存到父 AST 元素节点 scopedSlots...属性上,它是一个对象,以插槽名称 name 为 key,以渲染函数为value。...如果过渡组件提供了 JavaScript 钩子函数,这些钩子函数将在恰当时机调用

    85220

    vue面试考察知识点全梳理

    &初始化state(props、data、methods、watch、computed 等属性)前后故在beforeCreate方法中无法使用this访问当前实例,也无法访问data、props等;使用场景...计算属性 VS 侦听属性计算属性计算属性触发有以下两种情况:主动访问:当计算属性访问时触发getter函数,执行用户返回计算结果,如果返回值发生变化才触发渲染更新(有缓存,依赖发生变化才执行)。...读取 scoped-slot 属性并赋值给当前元素节点 slotScope 属性,接下来在构造 AST树时候,不会作为 children 添加到当前 AST 树中,而是存到父 AST 元素节点 scopedSlots...属性上,它是一个对象,以插槽名称 name 为 key,以渲染函数为value。...如果过渡组件提供了 JavaScript 钩子函数,这些钩子函数将在恰当时机调用

    80020

    vue面试考察知识点全梳理3

    &初始化state(props、data、methods、watch、computed 等属性)前后故在beforeCreate方法中无法使用this访问当前实例,也无法访问data、props等;使用场景...计算属性 VS 侦听属性计算属性计算属性触发有以下两种情况:主动访问:当计算属性访问时触发getter函数,执行用户返回计算结果,如果返回值发生变化才触发渲染更新(有缓存,依赖发生变化才执行)。...读取 scoped-slot 属性并赋值给当前元素节点 slotScope 属性,接下来在构造 AST树时候,不会作为 children 添加到当前 AST 树中,而是存到父 AST 元素节点 scopedSlots...属性上,它是一个对象,以插槽名称 name 为 key,以渲染函数为value。...如果过渡组件提供了 JavaScript 钩子函数,这些钩子函数将在恰当时机调用

    83930
    领券