Am învățat un astfel de lucru la seminarul Cantor. Cum pot să știu că obiectul care a venit la intrare este o matrice? Desigur, este mai bine să folosim tipărirea rațelor, dar dacă avem nevoie de o matrice, cu plinătatea metodelor, nu încercăm pe fiecare?
Apropo, dacă cineva crede că răspunsul este "tipof", atunci pur și simplu nu știe JS. Acest construct va returna "obiect".
Până de curând am crezut că modul corect este acest lucru: și este rar folosit pentru că designul "instanceof" nu este implementat pretutindeni. M-am înșelat. Iată modul potrivit: Și de aceea. Se pare. fiecare cadru are ierarhia propriului tip, dacă un cadru trece un obiect la cel de-al doilea, atunci "instanceof" va da "false", deoarece compară "Array" local cu acest cadru. Următorul exemplu ilustrează problema:
dacă (Boolean.valueOf (stringValue) .length () == 4) // stringValue este "adevărat" :)
>
Numai "Boolean.valueOf.call (stringValue) .length", probabil :) Și pe "null", de asemenea, "4" se va întoarce. Și pe "1234" - de asemenea.
Se pare că fiecare cadru are ierarhia propriului tip
Semnificativ podlyanka. Între contextele JS, puteți transfera în siguranță numai obiecte serializate și le puteți re-crea pe partea receptoare din nou.
Am pierdut o dată, cu mult timp în urmă, în zilele de IE 5.5. Am avut o aplicație cu mai multe cadre, JSON nu a fost acolo și a trebuit să o uit.
Și nu am spus că acesta este codul corect. Aceasta este o bucată de programare hindusă. Amintește-te nu în sensul de a fi cool, doar o asociere :)