Արդյո՞ք JS- ում անորոշված ​​կամ զրոյական, որպես խրոխտ արժեք օգտագործելու միջև կա լուրջ կատարողականություն:


պատասխանել 1:

Կախված է տվյալների բազայից, բայց միշտ կարող եք քննություն հանձնել Օգտագործեք JavaScript անվավեր և չճշտվածներից

// անվավեր 0-ը վերադարձնում է «չճշտված» բառը, ոչ թե անսահմանափակ հիմնաբառ, բայց իրական արժեքը «չորոշված» var a; var b = զրո; console.log (a == անվավեր 0, բ == անվավեր 0); // «ճշմարիտ ճշմարիտ» տպում

Երկուսի միջև կատարողականի մեջ փոքր կամ շատ տարբերություն չկա, քանի որ «զրո» -ը լուծվում է «չորոշված» արժեքին: «Անվավեր 0» -ը օգտագործելու պատճառն այն է, որ այն կարճ և ապուշ է, և մարդիկ կարող են հասկանալ, թե ինչ է դա անում, երբ տեսնում են:

Stack Overflow- ի այս հիանալի պատասխանը պետք է պատասխանի թեմային վերաբերող բոլոր հարցերին:


պատասխանել 2:

Ոչ Կարող է լինել տարբերություն պրիմիտիվների և նման գլոբալների օգտագործման միջև, բայց դա սովորաբար լուրջ չէ (եթե ես լուրջ չեմ): Եթե ​​ես լուրջ եմ վերաբերվում կատարողականին, կարող եմ ուղղակիորեն պրոֆիլավորել իմ կոդի աշխատանքը `պարզելու, թե ինչպիսին է այն: Դա նշանակում է, որ ես չեմ գնում Quora և նման հարցեր տալիս, բայց իմ կոդի համար պրոֆիլ եմ ստեղծում: Երբեմն (կամ շատ հաճախ) ես գնում եմ jsperf ՝ հատուկ մանրամասներ փնտրելու համար, բայց այնտեղի նմուշներից շատերը համատեղում են չափազանց շատ գործոններ ՝ գործնական արժեք ունենալու համար:

JavaScript շարժիչները ունեն ներքին օպտիմալացում, որի մասին մենք սովորում ենք ժամանակի ընթացքում: Այնուհետև դրանք թարմացվում և փոփոխվում են: Այսպիսով, ես պետք է բացահայտեմ այն ​​տարօրինակ սովորությունները, որոնց հետ ես աշխատել եմ այդքան դժվար:

Անհեթեթ և չորոշված ​​արժեքները համընդհանուր են, իսկ մյուսները ՝ ոչ (օրինակ ՝ զրոյական ընդդեմ կեղծ), բայց կատարման տարբերությունը շատ ավելի փոքր դեր է խաղում, քան նախկինում, երբ զննարկիչները շատ դանդաղ էին: Ներքին զննարկչի օպտիմիզացման խառնուրդի (որոնք փոփոխվում են գործարկման ժամանակ) և գործնական մանրամասների շնորհիվ, ինչպիսիք են շրջանակի որոնումները և այլն, դժվար է պատասխանել կատարման վերաբերյալ որոշակի հարցերի: Այսպիսով, եթե դուք օգտագործում եք կեղծ, ապա օգտագործում եք համարը կամ առարկան, ապա ներքին կատարողականի այս բարելավումները կարող են չեղյալ հայտարարվել (ուստի հետևողական ներդրումը օգնում է ամեն ինչի):

Եթե ​​ավելի քիչ աշխատանք եք կատարում, մնում եք տեղական, բարելավում եք արագությունը, օգտագործում եք ավելի քիչ հիշողության փոփոխականներ, և մշակողի գործիքները միշտ են այսպիսի հարցերին պատասխանելու լավագույն միջոցը:

Գործընթացի վերլուծության առաջին քայլերը Վեբ մշակողի գործիքներ | Google ծրագրավորող

Լուրջ հարց կլինի. Արդյո՞ք դա աշխատում է հաճախորդի համար, թե ոչ: Ես աշխատում եմ մի բանի վրա, որը օգտակար է մարդկանց համար:


պատասխանել 3:

Ոչ Կարող է լինել տարբերություն պրիմիտիվների և նման գլոբալների օգտագործման միջև, բայց դա սովորաբար լուրջ չէ (եթե ես լուրջ չեմ): Եթե ​​ես լուրջ եմ վերաբերվում կատարողականին, կարող եմ ուղղակիորեն պրոֆիլավորել իմ կոդի աշխատանքը `պարզելու, թե ինչպիսին է այն: Դա նշանակում է, որ ես չեմ գնում Quora և նման հարցեր տալիս, բայց իմ կոդի համար պրոֆիլ եմ ստեղծում: Երբեմն (կամ շատ հաճախ) ես գնում եմ jsperf ՝ հատուկ մանրամասներ փնտրելու համար, բայց այնտեղի նմուշներից շատերը համատեղում են չափազանց շատ գործոններ ՝ գործնական արժեք ունենալու համար:

JavaScript շարժիչները ունեն ներքին օպտիմալացում, որի մասին մենք սովորում ենք ժամանակի ընթացքում: Այնուհետև դրանք թարմացվում և փոփոխվում են: Այսպիսով, ես պետք է բացահայտեմ այն ​​տարօրինակ սովորությունները, որոնց հետ ես աշխատել եմ այդքան դժվար:

Անհեթեթ և չորոշված ​​արժեքները համընդհանուր են, իսկ մյուսները ՝ ոչ (օրինակ ՝ զրոյական ընդդեմ կեղծ), բայց կատարման տարբերությունը շատ ավելի փոքր դեր է խաղում, քան նախկինում, երբ զննարկիչները շատ դանդաղ էին: Ներքին զննարկչի օպտիմիզացման խառնուրդի (որոնք փոփոխվում են գործարկման ժամանակ) և գործնական մանրամասների շնորհիվ, ինչպիսիք են շրջանակի որոնումները և այլն, դժվար է պատասխանել կատարման վերաբերյալ որոշակի հարցերի: Այսպիսով, եթե դուք օգտագործում եք կեղծ, ապա օգտագործում եք համարը կամ առարկան, ապա ներքին կատարողականի այս բարելավումները կարող են չեղյալ հայտարարվել (ուստի հետևողական ներդրումը օգնում է ամեն ինչի):

Եթե ​​ավելի քիչ աշխատանք եք կատարում, մնում եք տեղական, բարելավում եք արագությունը, օգտագործում եք ավելի քիչ հիշողության փոփոխականներ, և մշակողի գործիքները միշտ են այսպիսի հարցերին պատասխանելու լավագույն միջոցը:

Գործընթացի վերլուծության առաջին քայլերը Վեբ մշակողի գործիքներ | Google ծրագրավորող

Լուրջ հարց կլինի. Արդյո՞ք դա աշխատում է հաճախորդի համար, թե ոչ: Ես աշխատում եմ մի բանի վրա, որը օգտակար է մարդկանց համար:


պատասխանել 4:

Ոչ Կարող է լինել տարբերություն պրիմիտիվների և նման գլոբալների օգտագործման միջև, բայց դա սովորաբար լուրջ չէ (եթե ես լուրջ չեմ): Եթե ​​ես լուրջ եմ վերաբերվում կատարողականին, կարող եմ ուղղակիորեն պրոֆիլավորել իմ կոդի աշխատանքը `պարզելու, թե ինչպիսին է այն: Դա նշանակում է, որ ես չեմ գնում Quora և նման հարցեր տալիս, բայց իմ կոդի համար պրոֆիլ եմ ստեղծում: Երբեմն (կամ շատ հաճախ) ես գնում եմ jsperf ՝ հատուկ մանրամասներ փնտրելու համար, բայց այնտեղի նմուշներից շատերը համատեղում են չափազանց շատ գործոններ ՝ գործնական արժեք ունենալու համար:

JavaScript շարժիչները ունեն ներքին օպտիմալացում, որի մասին մենք սովորում ենք ժամանակի ընթացքում: Այնուհետև դրանք թարմացվում և փոփոխվում են: Այսպիսով, ես պետք է բացահայտեմ այն ​​տարօրինակ սովորությունները, որոնց հետ ես աշխատել եմ այդքան դժվար:

Անհեթեթ և չորոշված ​​արժեքները համընդհանուր են, իսկ մյուսները ՝ ոչ (օրինակ ՝ զրոյական ընդդեմ կեղծ), բայց կատարման տարբերությունը շատ ավելի փոքր դեր է խաղում, քան նախկինում, երբ զննարկիչները շատ դանդաղ էին: Ներքին զննարկչի օպտիմիզացման խառնուրդի (որոնք փոփոխվում են գործարկման ժամանակ) և գործնական մանրամասների շնորհիվ, ինչպիսիք են շրջանակի որոնումները և այլն, դժվար է պատասխանել կատարման վերաբերյալ որոշակի հարցերի: Այսպիսով, եթե դուք օգտագործում եք կեղծ, ապա օգտագործում եք համարը կամ առարկան, ապա ներքին կատարողականի այս բարելավումները կարող են չեղյալ հայտարարվել (ուստի հետևողական ներդրումը օգնում է ամեն ինչի):

Եթե ​​ավելի քիչ աշխատանք եք կատարում, մնում եք տեղական, բարելավում եք արագությունը, օգտագործում եք ավելի քիչ հիշողության փոփոխականներ, և մշակողի գործիքները միշտ են այսպիսի հարցերին պատասխանելու լավագույն միջոցը:

Գործընթացի վերլուծության առաջին քայլերը Վեբ մշակողի գործիքներ | Google ծրագրավորող

Լուրջ հարց կլինի. Արդյո՞ք դա աշխատում է հաճախորդի համար, թե ոչ: Ես աշխատում եմ մի բանի վրա, որը օգտակար է մարդկանց համար:


պատասխանել 5:

Ոչ Կարող է լինել տարբերություն պրիմիտիվների և նման գլոբալների օգտագործման միջև, բայց դա սովորաբար լուրջ չէ (եթե ես լուրջ չեմ): Եթե ​​ես լուրջ եմ վերաբերվում կատարողականին, կարող եմ ուղղակիորեն պրոֆիլավորել իմ կոդի աշխատանքը `պարզելու, թե ինչպիսին է այն: Դա նշանակում է, որ ես չեմ գնում Quora և նման հարցեր տալիս, բայց իմ կոդի համար պրոֆիլ եմ ստեղծում: Երբեմն (կամ շատ հաճախ) ես գնում եմ jsperf ՝ հատուկ մանրամասներ փնտրելու համար, բայց այնտեղի նմուշներից շատերը համատեղում են չափազանց շատ գործոններ ՝ գործնական արժեք ունենալու համար:

JavaScript շարժիչները ունեն ներքին օպտիմալացում, որի մասին մենք սովորում ենք ժամանակի ընթացքում: Այնուհետև դրանք թարմացվում և փոփոխվում են: Այսպիսով, ես պետք է բացահայտեմ այն ​​տարօրինակ սովորությունները, որոնց հետ ես աշխատել եմ այդքան դժվար:

Անհեթեթ և չորոշված ​​արժեքները համընդհանուր են, իսկ մյուսները ՝ ոչ (օրինակ ՝ զրոյական ընդդեմ կեղծ), բայց կատարման տարբերությունը շատ ավելի փոքր դեր է խաղում, քան նախկինում, երբ զննարկիչները շատ դանդաղ էին: Ներքին զննարկչի օպտիմիզացման խառնուրդի (որոնք փոփոխվում են գործարկման ժամանակ) և գործնական մանրամասների շնորհիվ, ինչպիսիք են շրջանակի որոնումները և այլն, դժվար է պատասխանել կատարման վերաբերյալ որոշակի հարցերի: Այսպիսով, եթե դուք օգտագործում եք կեղծ, ապա օգտագործում եք համարը կամ առարկան, ապա ներքին կատարողականի այս բարելավումները կարող են չեղյալ հայտարարվել (ուստի հետևողական ներդրումը օգնում է ամեն ինչի):

Եթե ​​ավելի քիչ աշխատանք եք կատարում, մնում եք տեղական, բարելավում եք արագությունը, օգտագործում եք ավելի քիչ հիշողության փոփոխականներ, և մշակողի գործիքները միշտ են այսպիսի հարցերին պատասխանելու լավագույն միջոցը:

Գործընթացի վերլուծության առաջին քայլերը Վեբ մշակողի գործիքներ | Google ծրագրավորող

Լուրջ հարց կլինի. Արդյո՞ք դա աշխատում է հաճախորդի համար, թե ոչ: Ես աշխատում եմ մի բանի վրա, որը օգտակար է մարդկանց համար: