Por lo general, cuando quiero comprobar el tipo de un objeto (si se trata de una matriz, un NodeList, o lo que sea), que utilizan la siguiente:¿Por qué no funciona `{} .toString.apply (array)`?
var arr = [] // I don't do this, but it's for the sake of the example
var obj = {}
obj.toString.apply(arr) // This works
La pregunta es: ¿Por qué no puedo hacer ¿el seguimiento?
var arr = []
{}.toString.apply(arr) // Syntax error: Unexpected token .
No entiendo dónde está el error de sintaxis.
que puede hacer algo parecido con []
sin embargo, las siguientes obras:
var nodeList = document.getElementsByClassName('foo')
[].forEach.call(nodeList, function(bar) { console.log(bar) }) // Works
Así que ... estoy confundido.
has forgot() en toString()? – kappa
No, mira la respuesta de @Ray Toal. Agregar el paréntesis daría lugar a un error de sintaxis (el objeto no tiene el método 'apply'). –
Ahh ... no pensé eso, es correcto – kappa