我想将索引变量this
传递给我用function.call()
调用的函数。
var fun = function() {
console.log( this );
}
fun.call( 1 );
// -> Number {[[PrimitiveValue]]: 1}
很明显,原始整数1
不会作为原语传递给被调用的函数
根据{{3}}对于Function.prototype.call()" [...]原始值将转换为对象。"
有没有办法将它作为原始整数传递给fun()
?
答案 0 :(得分:1)
在上面的示例中,1
作为integer
参数传递,但在内部它是number
函数的fun
类型的对象。因此,为了从integer
访问this
的值。使用this.valueOf()
。我认为这有助于你!
var x = 12;
function fun() {
console.log(this.valueOf());
}
fun.call(x)
答案 1 :(得分:1)
根据函数内this的定义,你想要的东西是不可能的。是的,你可以在实施的其他答案中给出解决方法。