`
qqwjz
  • 浏览: 16569 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何在被调用函数中自动获取调用者的引用

    博客分类:
  • flex
 
阅读更多
一个页面中有多个控件需要调用某函数,并且要给该函数传递值。有没有办法在被调用函数中通过某种方式,在不传递参数的情况下,得到调用者的引用,进而取得对应控件的值.

一般的写法是
<script>

function test(object)
{
   alert(object.value);
}

</script>

<input type="button" name="one" value="one" onclick="test(this)">

<input type="button" name="tow" value="tow" onclick="test(this)">


不知道通过什么方式可以实现如下

<script>

function test()
{
   var object =  // 得到调用者的引用 object
   alert(object.value);
}

</script>

<input type="button" name="one" value="one" onclick="test()">

<input type="button" name="tow" value="tow" onclick="test()">


分享到:
评论
2 楼 qqwjz 2008-03-28  
问题解决了:

function test()
{
var object =event.srcElement // 得到调用者的引用 object
alert(object.value);
}
1 楼 myy 2008-03-28  
JScript  

caller 属性
请参阅
function 语句

应用于:Function 对象
要求
版本2
返回一个对函数的引用,该函数调用了当前函数。

functionName.caller
functionName 对象是所执行函数的名称。

说明
对于函数来说,caller 属性只有在函数执行时才有定义。如果函数是由 JScript 程序的顶层调用的,那么 caller 包含的就是 null 。

如果在字符串上下文中使用 caller 属性,那么结果和 functionName.toString 一样,也就是说,显示的是函数的反编译文本。

下面的例子说明了 caller 属性的用法:

function CallLevel(){
   if (CallLevel.caller == null)
      return("CallLevel was called from the top level.");
   else
      return("CallLevel was called by another function.");
}
要求
版本2

请参阅
function 语句

应用于:Function 对象

相关推荐

    VB中在模块中定义全局函数,在窗体中调用函数的实例——利润表.zip

    4. **在窗体中调用函数**: - **窗体事件**:在VB窗体中,你可以响应用户操作,如按钮点击事件(Button_Click)。在这些事件处理程序中,你可以调用模块中定义的全局函数。 - **显示结果**:计算完成后,可以将...

    C++高效获取函数调用堆栈

    在获取函数调用堆栈信息的过程中,我们需要了解函数调用堆栈的结构和数据结构。函数调用堆栈的结构主要包括函数的调用关系和参数信息,我们可以使用堆栈回溯来获取这些信息。 在实现过程中,我们需要使用 Windows ...

    c/c++中函数调用方式

    在C/C++编程语言中,函数调用方式是程序设计中的关键概念之一,它涉及到如何在函数调用过程中处理参数的传递以及栈空间的管理。根据给定的文件信息,我们可以深入探讨C/C++中几种主要的函数调用方式:__cdecl、__...

    函数调用过程种种细节分析

    2. 返回地址保存:调用函数前,当前指令的地址(即调用函数后的下一条指令)被保存到堆栈帧中,以便在函数返回时恢复。 3. 堆栈帧创建:为新函数分配空间,存储局部变量和其他必要信息。 4. 控制转移:执行流从调用...

    易语言调用函数编译原理源码

    6. **调用约定**:易语言的函数调用约定可能基于标准的C调用约定(cdecl),其中参数由被调用者清理,或者采用其他特定的约定。这会影响到参数传递顺序和如何处理返回值。 7. **链接**:如果函数是在其他模块中定义...

    visual c++中函数调用方式浅探

    在编译后的汇编指令中可以看到,参数是通过栈来传递的,并且在函数调用后,由调用者通过增加ESP寄存器的值来清理栈空间。 ```assembly lea eax, [ebp - 8] ; 取m的地址到eax push eax ; 压栈 lea ecx, [ebp - 4] ; ...

    回调函数就是一个通过函数指针调用的函数

    调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。 回调函数在实际中有很多应用场景,例如,在库中提供了某些排序算法的实现,如冒泡排序、...

    二进制讲解函数调用

    在计算机科学中,函数调用是程序执行过程中不可或缺的一部分,它允许我们把一系列相关的操作封装成独立的功能单元,便于重复使用和模块化编程。当我们谈论“二进制讲解函数调用”时,实际上是在探讨在处理器级别上,...

    Qt中调用函数如何返回多个值的Qt文件

    本篇文章将详细探讨在Qt环境中如何调用函数并返回多个值。 1. **使用结构体或类** 在C++中,我们可以创建一个结构体或类,将多个值封装在一起。例如,假设我们有三个需要返回的值`int a`, `QString b`, 和`bool c`...

    mfc中一个函数是如何调用的?

    让我们深入探讨一下MFC中函数调用的过程和相关知识点。 1. **消息处理机制** MFC中的函数调用往往与消息处理紧密相关。当用户与窗口交互,如点击按钮或输入数据时,Windows系统会发送消息到相应窗口的`WndProc`...

    剖析C++函数调用约定

    在Visual C/C++编译器中,有四种主要的函数调用约定:__cdecl、__stdcall、__fastcall和thiscall。了解这些约定的差异对于编写高效且兼容的代码至关重要。 首先,__cdecl是C和C++的默认调用约定。在这种约定中,...

    如何keil在c中调用a51汇编函数.doc

    重入函数是一种特殊类型的函数,允许在中断或并发情况下被调用,它们不会使用全局数据,而是依赖于局部变量或者由调用者提供的存储空间。 在C语言源文件(如`testc.c`)中,我们需要声明这些外部函数,这样编译器...

    易语言调用远程进程DLL函数

    在提供的压缩包中,"演示DLL.dll"可能是包含我们需要调用函数的DLL库,"XX辅助.e"和"XX辅助.exe"可能是用来辅助展示或测试DLL调用的易语言程序,而"主程序.e"和"主程序.exe"则是主要的程序主体,可能包含了调用远程...

    个人总结--函数堆栈调用

    在编程语言如C++中,函数堆栈调用是一个核心概念,它涉及到程序执行流程、内存管理和函数调用过程。本文将重点讨论函数调用时的堆栈操作,特别是与C++中的空类和默认函数相关的内容。 首先,让我们来看看空类`Empty...

    main函数调用子函数堆栈解析

    首先,movl -20(%ebp),%eax 将返回值存储在寄存器中,然后 leave 指令将堆栈指针恢复到之前的状态,最后 ret 指令将控制权返回给调用者。 我们可以看到 main 函数如何调用子函数的过程,并了解了堆栈帧的结构和实现...

    c函数调用-不使用函数返回值

    在C语言中,函数调用不使用返回值的情况并不罕见,尤其是在函数设计为修改传入参数的情况下。然而,这种做法可能会影响代码的可读性和错误处理能力。为了编写高质量的代码,程序员应该清楚地定义函数的行为,合理地...

    VB调用函数指针,几近完美

    "VB调用函数指针,几近完美"这个主题就是关于如何在VB中模拟函数指针的高级技术,使得即使是初学者也能理解和应用。 函数指针在C/C++等语言中是常见概念,它允许我们将函数作为变量存储和传递,进而实现动态调用和...

    将Matlab的M函数引用到Simulink中.pdf

    例如,在上述模型中,`MATLAB Fcn`模块被设置为调用`peng`函数,其中第一个输入`x`设为常数2,第二个输入`t`则由Simulink的`Clock`模块提供,表示当前仿真时间。 ### 二、使用SubSystem模块提升灵活性 #### ...

    C语言函数的定义、声明以及函数的调用方法_c语言函数学习实例_

    在C语言中,函数是程序的基本模块,它们可以完成特定的任务并可以被其他代码重复使用。函数的定义、声明和调用是C语言编程中不可或缺的部分。本篇将深入探讨这三个概念,以及如何处理参数传递,特别是数组作为函数...

    c语言程序设计函数调用学习教案.pptx

    无参函数不传递任何数据,而有参函数则通过参数在调用者和被调用者之间传递信息。 函数定义包括无参函数和有参函数的定义。无参函数的定义形式是:`类型标识符 函数名()`;有参函数的定义形式为:`类型标识符 函数...

Global site tag (gtag.js) - Google Analytics