`

javascript的callee属性使用

 
阅读更多

一个有全局变量污染的例子。

var uid = 1;

function newId(){
  return uid++;
}

newId(); // 1
newId(); // 2


使用callee后减少了全局变量污染。

function newId(){
  var thisFun = arguments.callee;
  if(!thisFun.uid) thisFun.uid = 1;
  return thisFun.uid++;
}

newId(); // 1
newId(); // 2
分享到:
评论

相关推荐

    理解JavaScript的caller callee call apply

    #### callee属性:引用自身 `callee`属性是`arguments`对象的一部分,它提供了一个指向正在执行的函数的引用。这对于匿名函数特别有用,因为它允许这些函数递归调用自身,或在不暴露全局命名空间的情况下保持封装。...

    Javascript原型对象、this的5钟用法、原型继承、Caller和Callee的使用.docx

    JavaScript中的原型对象、this的五种用法、原型继承以及Caller和Callee的使用是JavaScript编程中的核心概念。首先,让我们深入理解每个概念。 **原型对象(Prototype)** 在JavaScript中,每当定义一个函数,都会...

    JavaScript中callee和caller的区别与用法实例分析

    本文实例讲述了JavaScript中callee和caller的区别与用法。分享给大家供大家参考,具体如下: 1.callee 在函数的内部,有两个特殊的对象:arguments和this。其中arguments是一个类似数组的对象,包含着传入函数的所有...

    Javascript - 全面理解 caller,callee,call,apply (转载)

    这篇文章将深入探讨四个关键概念:caller、callee、call和apply,它们都是JavaScript函数操作的核心部分,对于理解和使用高级JavaScript编程至关重要。 首先,我们来了解`caller`和`callee`。在JavaScript的函数...

    js中arguments,caller,callee,apply的用法小结.docx

    总结,arguments对象提供了访问函数调用时所有参数的途径,caller属性提供了调用者的信息,callee属性指向当前执行的函数,apply方法允许动态设置函数调用的上下文和参数。理解和熟练使用这些特性,能够帮助开发者...

    javascript中callee与caller的用法和应用场景

    在JavaScript中,`caller` 和 `callee` 是与函数相关联的两个属性,它们提供了函数调用和被调用的上下文信息。了解这两个属性的用法,对于深入理解JavaScript中的函数执行机制非常有帮助。 首先来看`caller`属性。`...

    js中的caller和callee属性介绍和例子

    与caller属性不同, callee属性提供的是对当前正在执行的Function对象本身的引用。这在递归函数调用中非常有用,因为在匿名函数中使用自己的名称(函数名)可能会引起混淆。使用`arguments.callee`可以避免这种混淆...

    js的隐含参数(arguments,callee,caller)使用方法.docx

    **callee属性** `callee`属性是`arguments`对象的一个成员,它返回当前正在执行的函数对象本身。这意味着你可以通过`arguments.callee`来引用调用函数,这对于匿名函数或者递归调用非常有用,因为匿名函数没有名字...

    Javascript - 全面理解 caller,callee,call,apply

    在JavaScript的世界里,caller、callee、call和apply是四个非常重要的概念,它们涉及到函数的调用方式和执行上下文。这些知识点对于深入理解和优化代码至关重要,尤其在处理高阶函数和面向对象编程时。 首先,让...

    JavaScript arguments.callee作用及替换方案详解

    JavaScript中的`arguments.callee`是一个在函数内部引用当前正在执行的函数对象的属性。这个属性在函数递归、保持函数封装性以及匿名函数自我引用等场景中尤其有用。然而,由于`arguments`对象是一个相对昂贵的操作...

    Javascript函数中的arguments.callee用法实例分析

    在这之中,arguments.callee属性是一个特殊的属性,它引用了正在执行的当前函数。 在介绍arguments.callee之前,我们先来看看递归的概念。递归是一种常见的编程技术,允许一个函数直接或间接地调用自身。递归函数在...

    javascript中arguments,callee,caller详解

    arguments对象的callee属性是一个指针,它指向当前正在执行的函数。这个属性在函数内部自引用或者在匿名函数中使用时非常有用。在某些情况下,比如递归函数或者匿名函数,你可能需要在函数内部引用该函数本身,而...

    详解JavaScript函数callee、call、apply的区别

    `arguments.callee`是一个在函数内部可以访问到的特殊属性,它引用的是当前正在执行的函数本身。这对于那些没有名字的匿名函数特别有用,因为它们无法直接通过名称来引用自身。以下是一个使用`arguments.callee`实现...

    Javascript中arguments和arguments.callee的区别浅析

    在ES6及以后的版本中,推荐使用箭头函数或 `Function.prototype.name` 属性来获取当前函数的引用,而不是依赖 `arguments.callee`。 举个替代 `arguments.callee` 的例子,如果你需要在函数内部引用自身,可以使用...

    理解JavaScript的caller,callee,call,apply

    ### Callee属性 `callee`属性返回正被执行的`Function`对象的引用,通常用于匿名函数的递归调用或保持函数的封装性。 #### 用法 ```javascript function calleeDemo() { if (arguments.callee === calleeDemo) {...

    面向对象javascript

    在JavaScript中,我们可以使用函数的arguments属性来获取调用函数时传递的参数。我们也可以使用函数的caller属性来获取调用当前函数的父函数的引用。 通过学习面向对象的JavaScript,我们可以提高开发效率和代码...

    javascript学习笔记.docx

    - **arguments对象**:函数体内部有一个隐含的arguments对象,可获取所有传入参数,其length属性表示参数数量,callee属性指向函数自身。 - **构造函数**:构造函数通过`new`关键字调用,用于初始化对象,使用`...

    javascript中caller和callee详解

    最近学习javascript,碰到caller和callee的问题,去网上百度了很多。搜到的内容大同小益,整理总结了一下与大家分享。 caller:返回一个对调用function函数的函数的引用(用法:function.caller) 说明:对于函数来...

Global site tag (gtag.js) - Google Analytics