`
奈落王
  • 浏览: 30220 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

函数的所有者和调用者

 
阅读更多
arguments.callee 返回当前运行的函数

arguments.callee.length 形参
arguments.length 实参

*.caller 返回当前函数的上下文也就是函数调用者


function test(){
alert(arguments.callee.length)// 0
alert(arguments.length) //1
alert(arguments.callee);//  就是这个函数
alert(test.caller); // a
}


function a(){
   test("sss");
}

a();

函数的所有者,也就是this代表的对象
1,一般情况 o.function( this 这里的this就是指o)
2,function.call(o)
           apply(o) 让o去调用function 所有o也就是所有者








分享到:
评论

相关推荐

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

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

    剖析C++函数调用约定

    函数名在__stdcall中会被加上前缀和参数大小,形成如_funcname@12的格式,其中12表示所有参数占用的字节数。 接着,__fastcall调用约定旨在提高调用效率。参数主要通过寄存器传递,而不是堆栈,这样可以减少内存...

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

    这意味着,当一个函数调用完成后,调用者需要将之前压入栈中的参数弹出,恢复栈的状态。这种方式允许C/C++支持可变参数列表,因为调用者可以根据实际需要压入任意数量的参数,而无需被调用者事先知晓参数的数量。 #...

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

    这种调用约定适用于Win32 API函数调用,因为它可以减少调用者和被调用者之间的交互次数,从而提高效率。 示例代码: ```cpp void __stdcall winapi_input(int m, int n); ``` 编译后的汇编指令与`__cdecl` 类似,...

    lua调用C++函数

    Lua是一种轻量级的脚本语言,常用于游戏开发、嵌入式系统和服务器应用程序,因其简洁、高效而受到欢迎。...如果你遇到问题,可以尝试分析源码或者在类似的环境中编译运行,以便更好地理解和学习Lua调用C++函数的过程。

    Linux 系统函数调用大全

    文件权限控制篇讲解了如何使用`chmod()`、`chown()`和`chgrp()`来改变文件的权限和所有者,以及`access()`用于检查文件访问权限。同时,`open()`、`close()`、`read()`和`write()`等函数构成了基本的文件操作,允许...

    编译原理课程设计之函数调用分析

    ### 编译原理课程设计之函数调用分析 ...`__stdcall`适用于需要减少调用者负担的场景,而`__cdecl`则更适用于需要优化函数性能和通用性的场合。对于开发者而言,理解这些基本概念对于编写高效、可靠的程序至关重要。

    javascript实现根据函数名称字符串动态执行函数的方法示例

    在这里,我们定义了一个`myFunctions`对象,将`targetFunction`作为其属性,通过`test`函数和`myFunctions`对象来动态调用。 以上就是在JavaScript中实现函数动态调用的几种常见方法,每种方法都有其适用的场景。...

    Linux系统函数调用大全PDF.rar

    9. **权限和访问控制(permissions and access control)**:`chmod()`, `chown()`, `access()`等函数用于改变文件或目录的权限和所有者,以确保系统安全。 10. **时间与定时器(time and timers)**:`time()`, `...

    C语言函数与编译预处理

    本实验报告主要涉及C语言的函数和编译预处理,旨在帮助初学者掌握函数定义、函数调用、全局变量和局部变量、动态变量、静态变量的概念和使用方法,以及多文件程序的编译和运行。 一、函数定义和调用 函数是C语言中...

    常用函数的调用约定比较

    在`__cdecl`中,函数的参数由调用者负责清理,这意味着调用者需要按照参数传递的逆序来清理栈。这种约定灵活性高,适用于各种情况,但因为参数清理的额外开销,可能导致性能稍有下降。 其次,`__stdcall` 常用于...

    PB-API函数调用参考

    因此,对于使用PowerBuilder 8.0及其之后版本的开发者来说,虽然不再需要直接调用API函数来获取系统默认打印机,但对于早期版本的使用者而言,了解以下API函数仍然是非常必要的。 ##### 6.1.1 Windows 2000及后续...

    cdecl函数调用,了解printf这样的函数调用,对比stdcall会更清楚.zip

    这意味着函数在执行完返回前会清除所有参数,这样可以减少调用者的负担。 3. 返回值:同样通过EAX寄存器传递,复杂类型同理。 4. 函数名修饰:`stdcall`函数也会进行名称修饰,但与`cdecl`不同,它的修饰规则是为了...

    c++调用Python函数(并返回数据).zip

    5. **调用Python函数**:使用`PyObject_CallObject()`函数来调用Python函数,传入函数对象和参数列表(如果有的话)。 6. **处理返回值**:Python函数执行后会返回一个`PyObject*`,我们需要将其转换为C++能理解的...

    gdb中有调用关系的函数在堆栈中的关系

    这个过程确保了调用链的正确回溯,使得程序能正确地返回到调用者。 通过`disassemble`命令,我们可以查看特定函数的汇编代码,找出`call`指令后的地址,进一步验证`%eip`寄存器中的值是否对应于下一条要执行的指令...

    函数调用约定.docx

    - 与`stdcall`不同,`cdecl`约定下,调用者负责清理堆栈。这意味着调用函数的代码需要在调用后手动恢复堆栈,这允许函数接受可变数量的参数,这是C语言的一个特点。 - 函数定义时不加任何修饰符即默认为`cdecl`,也...

    VB函数速查,所有函数

    "VB函数速查,所有函数"是针对VB开发者的一个实用参考资料,它包含了VB语言中所有可用的函数,帮助程序员快速查找和理解函数的使用方法。 在2002年发布的第一版《Visual Basic 语言参考-函数速查》中,你可以找到...

    函数调用约定与函数名称修饰规则.pdf

    所有非C++成员函数和那些没有显式使用`__stdcall`或`__fastcall`声明的函数,默认都是`__cdecl`。 - **参数传递**:参数按照从右向左的顺序压入栈中。 - **栈清理**:由调用者负责清除栈中的参数。 - **适用场景**:...

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

    当一个函数执行完毕,它可以通过发射一个信号来传递结果,而接收者则通过连接到这个信号来获取值。这种方式在异步操作中特别有用: ```cpp class MyClass : public QObject { Q_OBJECT public slots: void ...

Global site tag (gtag.js) - Google Analytics