JavaScript Function arguments.callee caller length return
一、Function
函数是对象,函数名是指针。
函数名实际上是一个指向函数对象的指针。
使用不带圆括号的函数名是访问函数指针,并非调用函数。
函数的名字仅仅是一个包含指针的变量而已。即使在不同的环境中执行,全局的sayColor()函数 与 obj.sayColor() 指向的仍是同一个函数。
在函数内部,有两个特殊的对象,this 和 arguments 。
以下 总结自 《高程三 P110 》
每个函数都是Function类型的实例,函数都是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。
函数表达式:
var foo = function () { // 函数表达式, 以上代码定义了变量sum,并将其初始化一个函数 这和声明 数字、布尔值、字符串等其他变量是一样的
...
};
函数声明:
function foo() {
alert('foo');
}
函数声明、函数表达式 区别:
解析器(代码运行的环境)会率先读取函数声明,并使其在执行任何代码之前可以访问;至于函数表达式,必须等到解析器执行到它所在的代码行,才会真正被解释执行。
document.onmousemove 默认是指向一个空的处理函数,如果想要自定义该事件的处理函数,就给它覆盖一个自定义函数的指针,也就是JS函数名(即document.onmousemover=functionname),而不能使用document.onmousemover=functionname()。
二、arguments对象
The arguments object is an Array-like object(类数组,没有pop push方法) corresponding to the arguments passed to a function.
The arguments object is a local variable available(任何函数内部都有这个对象,是访问参数的入口) within all(non-arrow非箭头函数) functions. You can refer to a function's arguments within the function by using the arguments object. This object contains an entry for each argument passed to the function, the first entry's index starting at 0.
arguments是函数内部的类数组对象,包含着传入函数中的所有参数,代表传递给函数的参数列表。
arguments 对象仅在函数内部有效,在函数外部调用 arguments 对象会出现一个错误
arguments对象有下面两个属性和一个不再被支持的属性。
1. callee属性
(arguments对象,不是函数对象的属性)是一个指针,指向拥有这个arguments对象的函数。
callee放回正在执行的函数本身的引用,它是arguments的一个属性。
Reference to the currently executing function(指向当前正在运行的函数).
2. length属性
argument.length 指向传递给当前函数的参数数量(即实参的数量)
三、caller属性
caller(是函数对象的属性)返回一个函数的引用,这个函数调用了当前的函数。
Reference to the function that invoked(指向调用当前函数的函数) the currently executing function.
四、length
每个函数都包含两个属性:prototype和length.
length(length属性) 是函数对象的一个属性值,指明该函数期望多少个参数,意即形参的个数
(length 是函数对象的一个属性值,指明该函数期望多少个参数,意即形参的个数。数量不包括剩余参数。相比之下, arguments.length 是函数被调用时实际传参的个数。)
五、return
return语句也可以不带有任何返回值,在这种情况下,函数在停止执行后将返回undefined
return 不指定明确的值时,返回undefined
JavaScript Function arguments.callee caller length return的更多相关文章
- JavaScript中的arguments,callee,caller
在提到上述的概念之前,首先想说说javascript中函数的隐含参数: arguments: arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]argument ...
- 理解JavaScript中的arguments,callee,caller,apply
arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n] 参数function :选项.当前正在执行的 Function 对象的名字. n : ...
- JavaScript中的內定物件與函式: arguments, callee, caller, this, apply(), call()
arguments, caller, callee, this都是用在函式(function)內的特殊內定物件.而apply()及call()則是用來呼叫函式的不同作法. arguments可用來取得 ...
- javascript 中的 arguments,callee.caller,apply,call 区别
记录一下: 1.arguments是一个对象, 是函数的一个特性,只有在函数内才具有这个特性,在函数外部不用使用. 举例: function test(){ alert(typeof argume ...
- js的隐含参数(arguments,callee,caller)使用方法
在提到上述的概念之前,首先想说说javascript中函数的隐含参数: arguments arguments 该对象代表正在执行的函数和调用它的函数的参数.[function.]arguments[ ...
- JQuery Pagenation 知识点整理——arguments,callee,caller,apply应用(20150517)(转)
arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n]参数function :选项.当前正在执行的 Function 对象的名字. n :选 ...
- javascript 中arguments.callee 调用自身
一.Arguments该对象代表正在执行的函数和调用他的函数的参数.[function.]arguments[n]参数function :选项.当前正在执行的 Function 对象的名字.n :选项 ...
- 关于arguments.callee.caller.arguments[0]获得event的一些问题
先从一个简单的例子说起,一个简单的button控件如下: < input type ='button' name ='mybtn' id ='mybtn' onclick ='myFun ...
- js arguments.callee & caller的用法及区别
在函数内部,arguments.callee该属性是一个指针,指向拥有这个arguments对象的函数; 而函数对象的另一个属性:caller,这个属性保存着调用当前函数的函数的引用,如果是在全局作用 ...
随机推荐
- wpf 遍历listview 时 传入指定类型 得到指定类型控件info
private ChildType FindVisualChild<ChildType>(DependencyObject obj) where ChildType : Dependenc ...
- C#+ArcEngine中com对象的释放问题
1.问题描述 最近在写C#下AE的开发,在循环获取数据并修改时碰到了两个问题"超出系统资源"和"超出打开游标最大数":在网上看了一些资料,发现都是说在循环中没有 ...
- Buffett saying
1. 人生财富就像滚雪球,最重要的是发现很湿的雪和很长的坡. 2. 雪球想滚大,必须要有最坚实的核心:一生坚持的价值投资理念 价值投资一直是巴菲特投资理念的核心,他始终认为投资企业最重要的是要看准企业 ...
- androidstudio下载地址
google官网地址 https://developer.android.com/studio/index.html
- HAProxy 代理负载均衡
HAProxy HAProxy是免费 高效 可靠的高可用及负载均衡解决方案,该软件非常适合于处理高负载站点的七层数据请求,HAProxy的工作模式使其可以非常容易且安全地集成到我们现有的站点架构中.使 ...
- ES6 之 let和const命令 Symbol Promise对象
ECMAScript 6入门 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了. (2016年6月,发布了小幅修订的<ECMASc ...
- eclipse设置JSP的默认编码
有时候我们新建一个JSP页面,但是编码却不是我们想要的,我们可在eclipse里面进行如下设置: 点击eclipse上面的window-->preferences 输入查找jsp-->点击 ...
- Xcode-之Alcatraz
一.说明: Alcatraz 是一款 Xcode的插件管理工具,可以用来管理XCode的 插件.模版以及颜色配置的工具. 二.安装 1.github地址:https://github.com/alca ...
- Spring 创建 IOC 容器 ClassPathXmlApplicationContext 类
一.ClassPathXmlApplicationContext 类的作用 在 Java 环境中使用 Spring 时,需要用 new ClassPathXmlApplicationContext(c ...
- C#.NET的微信功能开发学习
对于新手的我来说,我不是申请一个微信公众号认证后进行开发,我是申请一个订阅号,然后通过自己申请的订阅号的公众平台测试号来学习. 一,申请后成功后,打开开发者工具-公众平台测试号 二,进去公众平台测试号 ...