Javascript学习之Function对象详解
JavaScript中的Function对象,就是我们常说的函数对象。在JS中,所有的函数也是以对象的形式存在的。
语法
充当Function对象的构造函数使用,用于结合new关键字构造一个新的Function对象。
new Function( [ argName1 [, argName1 [, argNameN... [, funcBody ]]]] )
当作普通函数使用,其行为与用法一(使用new关键字)完全一致,相当于用法一省略了new关键字。
Function( [ argName1 [, argName1 [, argNameN... [, funcBody ]]]] )
返回值
Function()的返回值是Function类型,返回一个函数对象
注意
多数时候,你无需显示地通过new关键字来构造一个Function对象,因为在JavaScript中,你可以直接以function关键字形式声明函数
JavaScript在调用Function()构造函数时编译由该构造函数创建的对象。虽然它使您的脚本在运行时重新定义函数的情况下具有更大的灵活性,但它也会减慢代码的执行速度。为了避免减慢脚本速度,应尽可能少地使用Function()构造函数。建议优先考虑以function关键字的形式声明函数。
Function()会把传入的最后一个参数作为函数定义的执行代码,之前的所有参数均依次作为函数定义的参数。
如果没有指定任何参数,则表示该函数没有定义参数列表,函数的执行代码也为空
如果只指定了一个参数,则该参数将被视作函数的执行代码。如果你想定义一个参数、执行代码为空,请传入两个参数,第二个参数为空字符串即可:new Function("argName1", "")。
属性
argumentS
返回该函数执行时内置的argumentS对象。
caller
返回调用当前函数的函数。
conStructor
返回创建该对象的构造函数。
length
返回函数定义的参数个数。
方法
call()
调用当前Function对象,可同时改变函数内的thiS指针引用,函数参数一个个分别传入。
apply()
调用当前Function对象,可同时改变函数内的thiS指针引用,函数参数以数组或argumentS对象的形式传入。
toString()
返回定义该Function对象的字符串。
valueOf()
返回Function对象本身。
原文链接:http://www.maiziedu.com/wiki/js/function1/
最新文章
- iOS 2D绘图 (Quartz2D)之阴影和渐变(shadow,Gradient)
- WebResource.axd 404 错误
- decode 函数将字符串从某种编码转为 unicode 字符
- 禁止使用finalize方法
- codeforces #235div2 D
- Drupal 7.31 SQL注入漏洞利用具体解释及EXP
- OC 加密
- 终于懂了:Delphi消息的Result完全是生造出来的,不是Windows消息自带的(Delphi对Windows编程体系的改造越大,学习收获就越大)——消息是否继续传递就看这个Result
- 反射RelectionDemo
- JavaScript复杂判断的更优雅写法
- git commit 时出现:please enter the commit message for your changes
- 走进javascript——它是什么?
- memset函数使用方法
- jDeveloper运行慢
- 完美解决 IOS系统safari5.0 浏览器页面布局iframe滚动栏失效问题
- jquery 获取对象
- ajax post data 获取不到数据,注意 content-type的设置 、post/get
- BZOJ 3529 【SDOI2014】 数表
- chrome下载离线安装包的方法
- Spring MVC @PathVariable注解
热门文章
- iOS8下定位问题解决
- EXT.JS以下两种写法在初始载入时是一样的效果
- npm install Unexpected token in JSON at position XXX
- python学习之-- 生成唯一ID
- Codeforces 946 C.String Transformation
- Network | sk_buff
- Django-自己写的py文件调用models&;Non-ASCII character报错&;url接收参数
- PyTorch学习笔记之DataLoaders
- Java中使用new Date()和System.currentTimeMillis()获取当前时间戳的区别(转)(Java进阶-性能提升)
- KVC技巧二则