AMcoder - javascript, python, java, html, php, sql

Chrome Console և Javascript օբյեկտի տեսակը

Ես կցանկանայի գտնել Javascipt օբյեկտի տեսակը (կոնստրուկտորի ֆունկցիայի անվանումը), բայց ես շարունակում եմ ետ ստանալ ընդհանուր «Օբյեկտ» բոլոր մեթոդներով, որոնք փորձել եմ: Ես փնտրել եմ առցանց և ոչ մի Javascript մեթոդ, որը ես գտել եմ, դեռ չի աշխատում ինձ համար: Այն միշտ պարզապես վերադարձնում է օբյեկտի կոնստրուկտորի տեսակը որպես ընդհանուր «Օբյեկտ»: Այնուամենայնիվ, այն կա, նայում է ինձ վրա, երբ ես ստուգում եմ այն ​​Chrome-ի վահանակում: Կա՞ն գաղափարներ, թե ինչպես կարող եմ ստանալ այդ տեղեկատվությունը JS-ում:

Հ.Գ. Ես օգտագործում եմ Browserify-ի պահանջը, որպեսզի առանձնացնեմ իմ կոդը, եթե դա տարբերություն լինի:

մուտքագրեք պատկերի նկարագրությունը այստեղ

Պատճառը, որ ես մտածեցի, որ դա կարող է լինել այն պատճառով, թե ինչպես է Browserify-ը բեռնում require կոդը, քանի որ սա այն արդյունքն է, որը ես ստանում եմ Browserify բեռնված կոնստրուկտորի ֆունկցիայից.

մուտքագրեք պատկերի նկարագրությունը այստեղ

Եվ ահա այն, ինչ ես ստանում եմ ձեռքով կոնստրուկտորի գործառույթ ստեղծելուց.

մուտքագրեք պատկերի նկարագրությունը այստեղ

Անկախ դրանից և անկախ նրանից, թե ինչպես եմ ես ստեղծում իմ կոնստրուկտոր ֆունկցիան var Prey = function() {} ընդդեմ var Prey = function Prey() {}, Chrome-ի մշակող գործիքները, թվում է, դեռ գիտեն, թե ինչ է կառուցողի ֆունկցիայի անունը, նույնիսկ երբ Javascript-ը կարծես թե չգիտի: Միգուցե դա պայմանավորված է նրանով, որ նրանք կարող են ստուգել կոդը վիրտուալ մեքենայի մեջ այնպես, որ Javascript-ի լեզուն հասանելի չէ, բայց ես մտածում եմ, թե արդյոք ես ինչ-որ բան բացակայում եմ: Որևէ մեկը գիտի՞ Javascript-ում օրինակի տեսակը որոշելու այլ եղանակի մասին:


  • Խնդրում եմ ցույց տվեք, թե ինչպես է կառուցված այդ օբյեկտը: 23.11.2014
  • Թվում է, թե ինչ էլ կառուցված obj-ը ճիշտ չի սահմանել constructor հատկությունը: 23.11.2014
  • @thefourtheye ավելացրել է լրացուցիչ տեղեկություններ կոնստրուկտորի գործառույթների մասին: Հուսով եմ, որ դա ավելի լավ համատեքստ է ապահովում: Շնորհակալություն 30.11.2014

Պատասխանները:


1

The Prey-ը, որը դուք տեսնում եք, Prey է, երբ դուք անում եք function Prey(){};, հետևաբար, ֆունկցիայի անունը Prey է: Եթե ​​դուք սահմանում եք Prey որպես var Prey = function(){};, ապա ֆունկցիայի անունը «» է;

Այսպիսով, հիմնականում, եթե ցանկանում եք օգտագործել ֆունկցիայի անունը, դուք պետք է ձեր կոնստրուկտորին անուն տաք: var Prey = function Prey(){};

Խմբագրել. կամ հնարավոր է, որ դուք արել եք այս տարբերակի տարբերակը.

var A = function NAMED(){};
var B = function(){};
B.prototype = Object.create(A.prototype);
var o = new B();

> o 
< B {};

> o.constructor.name
< "NAMED"
23.11.2014
  • Արդյո՞ք դա բացատրում է, թե ինչու է obj.constructor.name-ը օբյեկտ: 23.11.2014
  • Բայց հետո այն չէր երևա որպես Prey... Նույնիսկ եթե նախատիպը ձեռքով կարգավորեք obj.__proto__ = Prey.prototype-ի միջոցով, այն կսահմանի և՛ կոնստրուկտորի անունը, և՛ վահանակի ցուցադրումը: 23.11.2014
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..