`
longzijian
  • 浏览: 39359 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

浅谈argument 与 callee()

    博客分类:
  • Web
阅读更多

在阅读JavaScript权威指南时遇到了 Aragument对象,对其中的argument 与argument.callee()有点困惑,后来

研究后总算理解了,我是如下理解的,如有不同,欢迎留言:

 

argument  即 调用对象(这是书本翻译的)

        一开始还不是很明白,后来通过后面的argument.callee()印证,总算搞清楚了,

        调用对象,就是调用这个方法的对象(这也许就译文比原文差的地方了,要是英语水平好,还是看原文的好),

        这个与Java的super调用有点相似;

argument.callee()  即 当前对象

                                  (实际上是返回当前执行的函数对象,我们这里可以用“当前对象”去理解) 与Java的this 相似;

 

argument 与argument.callee()  跟 super & this 对比学习就很容易明白了,

我想设计argument 与argument.callee()初衷就是为了能进行两个对象互相引用吧

 

下面是书本里的代码,好好揣摩一下就明白了

<script type="text/javascript">
    	function check(args){
    		var ac = args.length;
    		var ex = args.callee.length
    		document.write("ac:" + ac +'<br>');
    		document.write("ex:" + ex +'<br>');
    		if(ac != ex){
    			document.write("Wrong number of arguments: expected: " + ex + "; actually passed" + ac +'<br>');
    		}
    	}
    
    	function f(x, y, z){
    		check(arguments);
    		document.write(x + y + z);
    	}
    	 
    </script>

 

在调用方法时,我故意少传了一个参数,大家运行一下,仔细看看 ac 与 ex的区别

  

 <input name="wr" type="button" value="调用" onclick="f(1,2)">

 

分享到:
评论
1 楼 kuloujianzun 2011-09-30  
哥很犀利

相关推荐

    iOS-Null passed to a callee that requires a non-null argument警告

    Null passed to a callee that requires a non-null argument 此警告就是某属性说好的不能为空,你又在某地方写了XX = nil 所以冲突了 这个警告比较新,是xcode6.3开始 为了让OC也能有swift的?和!的功能,你在声明...

    GRE作文argument全部官方范文分析

    从给定的文件信息中,我们可以提炼出一系列与GRE作文Argument相关的知识点,这些知识点涵盖了Argument写作的核心要素、官方范文的价值以及写作策略。 ### Argument写作核心要素 1. **证据、支持或证明**(Evidence...

    Encountered-an-improper-argument问题方法

    keil升级5.25pre(临近几个...会提示Error: Encountered an improper argument 主要解决办法就是替换UV4.exe,可以将低版本中的UV4.exe直接替换 具体操作看:https://blog.csdn.net/u011624093/article/details/80880708

    argument用法

    argument用法

    fragment argument

    "Fragment argument"是指将数据传递给Fragment的方式。在创建或实例化Fragment时,我们可能需要向其传递一些参数,以便在Fragment内部使用。这些参数通常以键值对的形式存储在一个Bundle对象中,然后通过...

    µVISION: Error: Encountered an improper argument

    对于"encount"标签,我们可以理解为这是与遇到错误或问题相关的标识。在本案例中,它指代的就是"Encountered an improper argument"这个特定错误。 在压缩包内的"解决办法"文件,可能包含了更详细的步骤说明,例如...

    简单粗暴写好argument

    - **定义与目的**:GRE Argument部分要求考生针对一段论断进行批判性分析,评估其逻辑性和有效性。目的在于考察考生是否能够识别论点中的逻辑漏洞并提出合理的反驳依据。 - **评分标准**: - **结构清晰**:文章...

    gre高频argument与提纲范文.doc

    gre高频argument与提纲范文.doc

    Argument分类--按错误类型

    根据给定的文件信息,我们可以将Argument的错误类型大致分为以下几类:基于当前或过去条件推断未来状况、解决方案的充分性与必要性、证据不足、无根据的假设、模糊的数据以及信息不完整。接下来,我们将对这些分类...

    argument写作英文教程

    这是原汁原味的北美教程,教你如何写出美国人看着顺眼的argument

    Keil v5 Error: Encountered an improper argument 个人实测解决办法

    Keil v5 Error: Encountered an improper argument 个人实测解决办法 实测运行正常咯,再也不出现仿真关不了debug情况了

    问题完美解决 keil官网方法encounter an inmproper argument

    标题中的“问题完美解决 keil官网方法encounter an inmproper argument”指的是在使用MDK5(Microcontroller Development Kit)时遇到的一个特定错误:“encounter an improper argument”。这个错误通常出现在用户...

    format ' x' invalid or incompatible with argument 解决办法

    ### "format ' x' invalid or incompatible with argument" 解决办法 在进行电子设计自动化(EDA)软件Protel 99 SE的操作过程中,用户可能会遇到一个常见的错误提示:“format ' x' invalid or incompatible with ...

    Argument例题汇总(打印).pdf

    2. 第二个例题探讨了Mentian广告公司高管的睡眠时间与公司成功的关联。此例论证中,作者认为需要睡眠时间少于6小时的高管们拥有的公司有更好的利润和增长。这里的逻辑漏洞可能包括: - 因果关系混淆:论证中没有...

    MDK Error: Encountered an improper argument 官方解决办法

    Keil-MDK Error Encountered an improper argument 问题解决办法实测有效,此问题属于keil的软件bug,在mdk5.2x版本中普遍出现,最新的mdk5.26版本也没有解决此软件bug,所以分享此解决办法让更多人免于受此问题困扰...

    Error: Encountered an improper argument 官方解决办法

    Download the attached file and extract it to the folder C:\Keil_v5\UV4. If you have installed PK51 to a different folder, you need to adapt the path accordingly. The file UV4.exe is replaced with ...

    Reading Literature and Writing Argument

    3. 批判性思维与论证分析:文中提到“Examining Thinking and Analyzing Argument”,指出读者需要通过批判性思维来检验论点的逻辑性。文档还提到了“Logical Fallacies”(逻辑谬误),这是撰写论证性文章时需要...

    keil encounter an inmproper argument提示解决工具.rar

    软件介绍: 使用keil官网的方法工具能够完美解决encounter an inmproper argument问题。下载解压后,修改文件的名字为UV4.exe,然后替换至C:\Keil_v5\UV4\UV4.exe安装目录下覆盖即可。

    Variable-length Argument Lists

    ### 变长参数列表(Variable-length Argument Lists) 在C语言中,变长参数列表是一种非常有用的功能,允许函数接收不确定数量的参数。这种机制在很多标准库函数中都有应用,如`printf`、`scanf`等。本文将详细介绍...

Global site tag (gtag.js) - Google Analytics