【发布时间】:2016-10-28 07:33:17
【问题描述】:
我对此很陌生,只是偶然发现了这个奇怪的东西:
我正在使用函数requestAnimationFrame 并且必须将对象作为参数传递。 This Question 向我展示了如何将参数传递给回调函数,但是当我传递一个对象时,它在函数内变成一个(看似随机的)数字:
var myObj = {name : "Sanchez", surname: "Pedro"};
console.log("outside", myObj); // shows me the object
console.log("outside", typeof(myObj)); // object
requestAnimationFrame(function(myObj) {
console.log("inside", myObj); // shows me a random number
console.log("inside", typeof(myObj)); // number
// doSomethingToPedro(myObj)
});
我现在的问题是,(A)我怎样才能正确地将我的对象传递给回调,以及(B)为什么会发生这种情况?
【问题讨论】:
-
requestAnimationFrame 发送高清时间作为参数。同样在回调内部,myObj 指向参数而不是外部变量
-
参数的值是在调用函数时分配的,而不是在定义函数时。
标签: javascript arguments parameter-passing