Stavo cercando di ridurre il mio codice memorizzando le funzioni in cache alle variabili. Per esempio:"oggetto non è una funzione" quando si salva function.call su una variabile
function test(){
var a = Array.prototype.slice,
b = a.call(arguments);
// Do something
setTimeout(function(){
var c = a.call(arguments);
// Do something else
}, 200);
}
Così, invece di chiamare Array.prototype.slice.call(arguments)
, posso solo fare a.call(arguments);
.
Stavo cercando di renderlo ancora più piccolo memorizzando nella cache Array.prototype.slice.call
, ma non funzionava.
function test(){
var a = Array.prototype.slice.call,
b = a(arguments);
// Do something
setTimeout(function(){
var c = a(arguments);
// Do something else
}, 200);
}
Questo mi dà TypeError: object is not a function
. Perché?
typeof Array.prototype.slice.call
restituisce "function"
, come previsto.
Perché non è possibile salvare .call
in una variabile (quindi chiamarla)?
quale motore javascript ti ha dato questo errore? –
possibile duplicato di [Come si fa riferimento a Array.prototype.slice.call()?] (Http://stackoverflow.com/questions/6835315/how-do-you-reference-array-prototype-slice-call) – pimvdb
@DanD .: Chrome 16. –