标签:
测试代码如下:
1. 当做一般函数调用Cat();
function Cat(name){ var arr = Object.getOwnPropertyNames(this); console.log(arr.length); // 722 } Cat("Black Cat");
arr.length=722,我们判定调用一般函数时,this指代的是全局对象。
2. 当做构造函数调用;
function Cat(name){ var arr = Object.getOwnPropertyNames(this); console.log(arr.length); } var cat = new Cat("Black Cat");
array.length = 0, 我们判定调用构造函数时,this指定的是new出来的那个对象。
聊天记录
第一参数是必须传的,不传会报错,想传,但不想给值,所以就传个null. 这个既能通过js语法的验证,又能达到逻辑任务的目的。是一箭双雕的活。
一点发现
在函数中,如果函数参数是变量argument时,好像无法直接调用函数,只能使用apply的副作用?
为什么要使用apply()和call()
标签:
原文地址:http://www.cnblogs.com/linxd/p/4437726.html