javaScript Function 函数的相关属性和方法
来源:互联网 发布:崩坏三矩阵buff 编辑:程序博客网 时间:2024/05/20 12:52
【一】Function 函数的相关属性
1.length 返回函数定义的参数个数。
function funcTest(x, y, z) { console.log(arguments); return x + y + z; } console.log(funcTest.length); //输出32.constructor 返回创建该对象的构造函数。
var objFunc = new funcTest(1, 2, 3); console.log(funcTest.constructor);3 .caller 返回调用当前函数的函数。
function A() { return A.caller; } function B() { return A(); } console.log(B()); //返回B函数 console.log(A()); //返回 undefined ,因为此时没有外层函数调用 A 函数
4. arguments
函数执行时内置的arguments对象,该对象返回该函数的所有参数,是一个类似数组但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方式,可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length。
function argumentsTest() { console.log(arguments[2]); //输出 a return arguments; } console.log(argumentsTest(1, 2, 'a', 'v')); //输出 [1,2,"a","v"]5.callee
callee 属性是 arguments 对象的一个成员,该属性仅当相关函数正在执行时才可用,返回当前被调用函数的函数对象.
以下是利用callee 实现匿名函数的递归调用的例子。
( function(count) { if (count <= 3) { console.log(count); arguments.callee(++count); } } )(0);//依次输出0,1,2,3
【二】Function 函数的相关方法
1.toString() 返回定义该Function对象的字符串。
function f1(a,b,c){ return a+b+c; } console.log(f1.toString());2.valueOf() 返回Function对象本身。
console.log(f1.valueOf());
3. call 和 apply
调用一个对象的方法,用另一个对象替换当前对象。
语法 call(thisObj,arg1,arg2,arg3);
语法 apply(thisObj,[arg1,arg2,arg3])
它允许将函数的 this 对象从初始上下文变为由 thisObj 指定的新对象。
如果没有提供 thisObj 参数,则 global 对象被用作 thisObj。
call与apply方法唯一不同的地方是,apply的第二个参数类型必须是Array,而call方法是将所有的参数列举出来,用逗号分隔。
var obg = { name:'jun', say:function(somebody,age){ return 'Hello '+somebody+' this is '+this.name+age; } } console.log(obg.say('bobo',10));//输出 Hello bobo this is jun10 var obg1 = { name:'obg1', }; console.log(obg.say.call(obg1,'js',100)); // Hello js this is obg1100 console.log(obg.say.apply(obg1,['js',100])); // Hello js this is obg1100
- javaScript Function 函数的相关属性和方法
- 全面理解Javascript中Function对象的属性和方法
- 全面理解Javascript中Function对象的属性和方法
- Javascript Function 对象 属性和方法
- javascript的函数属性和方法
- javascript元素相关属性和方法
- JavaScript函数内部属性和函数方法
- JavaScript函数function和对象的理解
- 和属性相关的方法
- JavaScript 数字相关的属性方法
- javaScript 对象属性和函数的加入方法
- javascript的函数function
- JavaScript的属性和方法
- JavaScript function 的 length 属性
- 关于javascript的函数function,new function和new Function的一些理解
- function函数的length属性
- 函数的属性和方法
- js中Function有用的属性和方法
- tableView 的cell功能操作方法
- 为什么作为成员变量的类对象,不用初始化也不报错,而作为非成员变量的类对象,不初始化就会报错?
- iPhone屏幕尺寸、分辨率及适配
- VC中使用CRectTracker画图编译使用静态库时,光标消失解决方案
- lk中的flashlayout
- javaScript Function 函数的相关属性和方法
- iOS巅峰之tabBar在push之后留下白条
- ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/oracle
- Java如何查看死锁?
- 单个滚动
- android studio manifest中权限添加了却没用?
- 代理模式
- shiro安全框架的简单配置
- Android美团多渠道打包