Kas JS-is on määratlematu või nullväärtuse näivväärtusena kasutamisel tõsine jõudluse erinevus?


Vastus 1:

Sõltub andmekogumist, kuid võite alati kasutada JavaScripti tühist <ükskõik mida>, et kontrollida, kas see on null ja määratlemata:

// void 0 tagastab 'määratlemata', mitte reserveerimata märksõna, kuid tegelik väärtus 'määratlemata'
var a;
var b = null;
console.log (a == tühine 0, b == tühine 0);
// prindib 'tõeline tõsi'

Mõlema toimivuserinevuse vahel on vähe või puuduvad erinevused, kuna väärtus "null" muutub väärtuseks "määratlemata". Põhjus, miks me kasutame tühist 0, on see, et see on lühike ja idioomaalne ning inimesed saavad aru, mida see teeb, kui nad seda näevad.

See suurepärane vastus pinu ülevoolu kohta peaks vastama kõigile selle teemaga seotud küsimustele.


Vastus 2:

Ei. Selliste primitiivide ja globaalide kasutamisel võib olla erinevus, kuid see pole tavaliselt tõsine (kui ma ei tunne seda tõsiselt). Kui hakkan toimivusega tõsiselt tegelema, siis profiilin oma koodi toimivust otse, et teada saada, kuidas see täpselt välja näeb. See tähendab, et ma ei lähe Quora kallale ega esita niimoodi küsimusi, vaid profiilin hoopis oma koodi. Mõnikord (või liiga tihti) käin ka jsperfil konkreetsete üksikasjade otsimisel, kuid paljud sealsed proovid seostavad liiga palju tegureid, et neil oleks praktilist väärtust.

JavaScripti mootoritel on sisemised optimeerimised, millest me aja jooksul õpime - ja siis neid uuendatakse ja muudetakse, nii et ma pean lahti tegema veidratest harjumustest, mida ma nii kõvasti töötasin.

Väärtused null ja määratlemata on globaalsed ja teised mitte (nt null vs vale), kuid toimivuse erinevus on palju väiksem kui varem, kui brauserid olid palju aeglasemad. Konkreetsetele jõudluse küsimustele on raske vastata enam, kuna mitmesugused brauseri sisemised optimeerimised (mis muutuvad käituse ajal) koos praktiliste üksikasjadega, näiteks ulatuse otsingud jne. Nende optimeerimiste võimendamisel on peen nüanss edastatavate muutujate tüüp - nii et vale ja seejärel arvu või objekti kasutamine võib need sisemised jõudluse täiustused potentsiaalselt lüüa (nii aitab järjekindel tippimine kõike aidata).

Vähem tööd tehes, kohalikus ulatuses püsimine aitab kiiremini, vähem muutujate kasutamisel on abi mälust ja arendaja tööriistad on alati parim viis konkreetsetele küsimustele vastamiseks.

Alustage Runtime Performance analüüsiga Tööriistad veebiarendajatele | Google'i arendajad

Tõsine küsimus oleks: kas see töötab kliendi jaoks või mitte? Kas töötan millegi nimel, mis on inimestele kasulik?


Vastus 3:

Ei. Selliste primitiivide ja globaalide kasutamisel võib olla erinevus, kuid see pole tavaliselt tõsine (kui ma ei tunne seda tõsiselt). Kui hakkan toimivusega tõsiselt tegelema, siis profiilin oma koodi toimivust otse, et teada saada, kuidas see täpselt välja näeb. See tähendab, et ma ei lähe Quora kallale ega esita niimoodi küsimusi, vaid profiilin hoopis oma koodi. Mõnikord (või liiga tihti) käin ka jsperfil konkreetsete üksikasjade otsimisel, kuid paljud sealsed proovid seostavad liiga palju tegureid, et neil oleks praktilist väärtust.

JavaScripti mootoritel on sisemised optimeerimised, millest me aja jooksul õpime - ja siis neid uuendatakse ja muudetakse, nii et ma pean lahti tegema veidratest harjumustest, mida ma nii kõvasti töötasin.

Väärtused null ja määratlemata on globaalsed ja teised mitte (nt null vs vale), kuid toimivuse erinevus on palju väiksem kui varem, kui brauserid olid palju aeglasemad. Konkreetsetele jõudluse küsimustele on raske vastata enam, kuna mitmesugused brauseri sisemised optimeerimised (mis muutuvad käituse ajal) koos praktiliste üksikasjadega, näiteks ulatuse otsingud jne. Nende optimeerimiste võimendamisel on peen nüanss edastatavate muutujate tüüp - nii et vale ja seejärel arvu või objekti kasutamine võib need sisemised jõudluse täiustused potentsiaalselt lüüa (nii aitab järjekindel tippimine kõike aidata).

Vähem tööd tehes, kohalikus ulatuses püsimine aitab kiiremini, vähem muutujate kasutamisel on abi mälust ja arendaja tööriistad on alati parim viis konkreetsetele küsimustele vastamiseks.

Alustage Runtime Performance analüüsiga Tööriistad veebiarendajatele | Google'i arendajad

Tõsine küsimus oleks: kas see töötab kliendi jaoks või mitte? Kas töötan millegi nimel, mis on inimestele kasulik?


Vastus 4:

Ei. Selliste primitiivide ja globaalide kasutamisel võib olla erinevus, kuid see pole tavaliselt tõsine (kui ma ei tunne seda tõsiselt). Kui hakkan toimivusega tõsiselt tegelema, siis profiilin oma koodi toimivust otse, et teada saada, kuidas see täpselt välja näeb. See tähendab, et ma ei lähe Quora kallale ega esita niimoodi küsimusi, vaid profiilin hoopis oma koodi. Mõnikord (või liiga tihti) käin ka jsperfil konkreetsete üksikasjade otsimisel, kuid paljud sealsed proovid seostavad liiga palju tegureid, et neil oleks praktilist väärtust.

JavaScripti mootoritel on sisemised optimeerimised, millest me aja jooksul õpime - ja siis neid uuendatakse ja muudetakse, nii et ma pean lahti tegema veidratest harjumustest, mida ma nii kõvasti töötasin.

Väärtused null ja määratlemata on globaalsed ja teised mitte (nt null vs vale), kuid toimivuse erinevus on palju väiksem kui varem, kui brauserid olid palju aeglasemad. Konkreetsetele jõudluse küsimustele on raske vastata enam, kuna mitmesugused brauseri sisemised optimeerimised (mis muutuvad käituse ajal) koos praktiliste üksikasjadega, näiteks ulatuse otsingud jne. Nende optimeerimiste võimendamisel on peen nüanss edastatavate muutujate tüüp - nii et vale ja seejärel arvu või objekti kasutamine võib need sisemised jõudluse täiustused potentsiaalselt lüüa (nii aitab järjekindel tippimine kõike aidata).

Vähem tööd tehes, kohalikus ulatuses püsimine aitab kiiremini, vähem muutujate kasutamisel on abi mälust ja arendaja tööriistad on alati parim viis konkreetsetele küsimustele vastamiseks.

Alustage Runtime Performance analüüsiga Tööriistad veebiarendajatele | Google'i arendajad

Tõsine küsimus oleks: kas see töötab kliendi jaoks või mitte? Kas töötan millegi nimel, mis on inimestele kasulik?


Vastus 5:

Ei. Selliste primitiivide ja globaalide kasutamisel võib olla erinevus, kuid see pole tavaliselt tõsine (kui ma ei tunne seda tõsiselt). Kui hakkan toimivusega tõsiselt tegelema, siis profiilin oma koodi toimivust otse, et teada saada, kuidas see täpselt välja näeb. See tähendab, et ma ei lähe Quora kallale ega esita niimoodi küsimusi, vaid profiilin hoopis oma koodi. Mõnikord (või liiga tihti) käin ka jsperfil konkreetsete üksikasjade otsimisel, kuid paljud sealsed proovid seostavad liiga palju tegureid, et neil oleks praktilist väärtust.

JavaScripti mootoritel on sisemised optimeerimised, millest me aja jooksul õpime - ja siis neid uuendatakse ja muudetakse, nii et ma pean lahti tegema veidratest harjumustest, mida ma nii kõvasti töötasin.

Väärtused null ja määratlemata on globaalsed ja teised mitte (nt null vs vale), kuid toimivuse erinevus on palju väiksem kui varem, kui brauserid olid palju aeglasemad. Konkreetsetele jõudluse küsimustele on raske vastata enam, kuna mitmesugused brauseri sisemised optimeerimised (mis muutuvad käituse ajal) koos praktiliste üksikasjadega, näiteks ulatuse otsingud jne. Nende optimeerimiste võimendamisel on peen nüanss edastatavate muutujate tüüp - nii et vale ja seejärel arvu või objekti kasutamine võib need sisemised jõudluse täiustused potentsiaalselt lüüa (nii aitab järjekindel tippimine kõike aidata).

Vähem tööd tehes, kohalikus ulatuses püsimine aitab kiiremini, vähem muutujate kasutamisel on abi mälust ja arendaja tööriistad on alati parim viis konkreetsetele küsimustele vastamiseks.

Alustage Runtime Performance analüüsiga Tööriistad veebiarendajatele | Google'i arendajad

Tõsine küsimus oleks: kas see töötab kliendi jaoks või mitte? Kas töötan millegi nimel, mis on inimestele kasulik?