Muundo wa Tukio za Kuzalika cha JavaScript
- Mababu Mashauri bora ya JS
- Pya Hisia ya JS
Lchapu hii inakadiri makosa ya kawaida za JavaScript.
Kuwasiliana kwa uharibifu wa kinaagiza
Kama mtafiti anasababisha kinaagiza kwenye: if
Kuwasiliana kwa uharibifu wa kinaagiza kwenye:=
(...bila kufikiria kama operatori ya kinaagiza)=====
(...), programu za JavaScript inaweza kubadilika kwa huzuni.
Hii if
Makadiri inaonekana kwenye: mengine
(kama ilivyoagiza), kwa sababu x haikupatikana kama 10:
var x = 0; if (x == 10)
Hii if
Makadiri inaonekana kwenye: kinaagiza
(...bila kufikiria), kwa sababu 10 inaonekana kama mengine:
var x = 0; if (x = 10)
Hii if
Makadiri inaonekana kwenye: mengine
(...bila kufikiria), kwa sababu 0 inaonekana kama mengine:
var x = 0; if (x = 0)
Kusababisha kinaagiza inaonekana kwenye:
Uagiza kinaagiza
Kwenye kinaagiza kwa kinaagiza, aina ya data inaonekana sana. Hii if
Makadiri inaonekana kwenye: kinaagiza
:
var x = 10; var y = "10"; if (x == y)
Kwenye kinaagiza kwa kinaagiza, aina ya data inahusishwa sana. Hii if
Makadiri inaonekana kwenye: mengine
:
var x = 10; var y = "10"; if (x === y)
Kuna uharibifu muhimu sana inayotokana na kufaikia switch
Makadiri inayotumiwa kwa kusababisha kinaagiza:
Hii switch
Makadiri inaonekana kwenye mkono:
var x = 10; switch(x) { case 10: alert("Hello"); }
Hii switch
Makadiri hayakupakishwa kwenye mkono:
var x = 10; switch(x) { case "10": alert("Hello"); }
Kuamua na kusambatisha
KuongezaInayotumiwa kwa kuongezaThamani.
Kusambatisha (Concatenation)Inayotumiwa kwa kuongezaMatukio.
Kwenye JavaScript, mbadala ya kufanya kila kitu kwa kawaida una kufanya kila kitu kwa kawaida +
Operatori.
Kwa sasa, kuongeza maneno kama thamani na kuongeza maneno kama matukio ni inayofanya matokeo tofauti:
var x = 10 + 5; // matokeo ya x ni 15 var x = 10 + "5"; // matokeo ya x ni "105"
Kama ni mabaki mbili ya kuongeza, kinaagiza kuwa nafasi ya matokeo:
var x = 10; var y = 5; var z = x + y; // matokeo ya z ni 15 var x = 10; var y = "5"; var z = x + y; // matokeo ya z ni "105"
Mfano wa kumefikiria kwa urahisi
Maneno ya JavaScript yana hifadhiwa kama ya 64 bitiMifano ya uangalifu (Floats).
Kila lugha ya programu, ikiwemo JavaScript, inaona kihadhi kwa kumtumia mifano ya tukio wa uangalifu.
var x = 0.1; var y = 0.2; var z = x + y // matokeo ya z sio 0.3
Kusaidia matokeo ya juu, tumia kufikia kwa umri wa kikabila na kusababisha:
Mifano
var z = (x * 10 + y * 10) / 10; // matokeo ya z kimepatikana ni 0.3
Kuingia tena kwa mifano ya siku ya string ya JavaScript
JavaScript inaruhusiwa kuingia tena mada kwa mifano ya siku ya pili:
Mfano 1
var x = "Hello World!";
Kama hivyo, kuingia tena kwa mifano ya siku kwenye string inasababisha:
Mfano 2
var x = "Hello World!";
Mfano 3
var x = "Hello \ World!";
Ishara ya kuingia tena kwa mifano ya siku inayotokea
Kwa sababu ya ishara ya kuingia tena kwa mifano ya siku, kwa uwanja wa x na yote inaenda kufanya:
if (x == 19); { // code block }
Kuingia tena kwa mada ya 'return'
Kumaliza mada kwa mifano ya siku inayopita ni muhimu wa kufikia kwa uwanja wa JavaScript.
Kwa sababu hivyo, mifano ya pili na ya tatu inatokana na matokeo yoyote ya kawaida:
Mfano 1
function myFunction(a) { var power = 10 return a * power }
Mfano 2
function myFunction(a) { var power = 10; return a * power; }
JavaScript inaruhusiwa kuingia tena mada kwa mifano ya siku ya pili.
Kwa sababu hivyo, mfano 3 itakurudisha matokeo yoyote ya kawaida:
Mfano 3
function myFunction(a) { var power = 10; return a * power; }
Kama hivyo, hadi kuingia tena kwa mifano ya siku inayofuata: return
Kivinjari hii inatofautiana kama inatokana na mifano ya siku yafuatayo:
Mfano 4
function myFunction(a) { var power = 10; return a * power; }
Fungili hii itakurudisha: bila maana
!
Kwa nini? Kwa sababu JavaScript inaonesha kwamba:
Mfano 5
function myFunction(a) { var power = 10; return; a * power; }
taarifa
Kivinjari hii inaonekana inaona:
var
JavaScript itakapokamilika kwa uwanja wa mada hii kwa kusoma mifano ya siku inayofuata:
power = 10;
Kwa sababu mada hii itakupofikia:
return
JavaScript itakapokamilika kwa uwanja wa mada hii:
return;
Kivinjari hii inatofautiana kwa sababu katika JavaScript, kuingia tena kwa kutisha (kumaliza) mada inaonekana kwa kufikia.
JavaScript itakapokamilika katika mifano ya ukumu wa siku return
madai, kwa sababu haukuwa na ukweli wa kumaliza kufikia mada hiyo.
Tabia, hata hivyo, kumwambia return
madai kuingia tena
Kuingia tena laingia kwa kutumia mifano ya jina
Masharti ya kingereza wa kingereza wanaonyesha mabara ya jina la mabara.
Mabara ya jina la mabara inaitwa mabara ya jina (au hasira).
JavaScript HaukufaaMabara ya jina la mabara.
Kwenye JavaScript,MabaraTumia:Jina la mabara:
Mifano
var person = []; person[0] = "Bill"; person[1] = "Gates"; person[2] = 46; var x = person.length; // person.length itakuwa 3 var y = person[0]; // person[0] itakuwa 'Bill'
Kwenye JavaScript,KifaaTumia:Jina la mabara.
Ikiwa unatumia jina la mabara, kama unaona jina la mabara, JavaScript itakapokubali kurekodia kwa kufikia kama kiwango cha standardi cha kifaa.
Baada ya kurekodia kwa kuzungumza, kazi ya jina la mabara au kipengele kinakapata matokeo ya watu hauonekani au ya huzungumza kwa uadilifu:
Mifano
var person = []; person["firstName"] = "Bill"; person["lastName"] = "Gates"; person["age"] = 46; var x = person.length; // person.length itakuwa 0 var y = person[0]; // person[0] itakuwa 'Bill'
Tumia koma kuishika kufikia kwa kufikia:
Koma cha kushika katika uafisha wa kiwango na jina la mabara ni haki katika ECMAScript 5.
Matokeo wa kiwango:
person = {firstName:"Bill", lastName:"Gates", age:62,};
Matokeo wa jina la mabara:
points = [35, 450, 2, 7, 30, 16,];
Wachagia !!
Internet Explorer 8 inapungua.
JSON haonyeshe koma cha kushika.
JSON:
person = {firstName:"Bill", lastName:"Gates", age:62};
JSON:
points = [35, 450, 2, 7, 30, 16];
Undefined si Null
Mfumo wa JavaScript, jina, ujumbe na vifaa yanaweza kuhadhiwa kama watu hauonekani.
Hata hivyo, watu wa JavaScript wa hauonekani huzungumza kwa uadilifu: bila maana
.
Hii inaweza kumekuwa kizama kufikia au haukuwa na matokeo wa matokeo wa mtandao:
Unaweza kufikia kwa kuteza aina hiyo inaonekana: bila maana
Kutoka kwa kufikia au haukuwa na matokeo:
Mifano
if (typeof myObj === "undefined")
Hata hivyo, huzungumzwa kinaa inaonekana kinaa: bila maana
kwa sababu kama kinaa bila maana, inatokana na kinaa:
Ni sahihi:
if (myObj === null)
Kuondoa hiki, lazima kuteleza kinaa inaonekana kinaa: bila maana
bila maana, hali ya kinaa bila maana.
Hata hivyo, hii inatokana na kinaa:
Ni sahihi:
if (myObj !== null && typeof myObj !== "undefined")
Kwa hivyo, kabla ya kuteleza kinaa, lazima kuonekana kwamba inahitaji kuteleza bila maana:
Ni sahihi:
if (typeof myObj !== "undefined" && myObj !== null)
inaona eneo la kinaa kinaa
JavaScript hakunainaunda eneo la kinaa kinaa kwa kichupo kinaa kinaa.
Kinaa kinaa za kingereza zinaonekana kama hivi, lakini JavaScript Hakuna.
inaonekana kwamba hii inatokana na kichupo hiki bila maana
ni kinaa ya mwanachama wa uandishi wa JavaScript wa kinaa:
Mifano
for (var i = 0; i < 10; i++) { // Inafahamu kwa kichupo } return i;
- Mababu Mashauri bora ya JS
- Pya Hisia ya JS