ES5 ya JavaScript
- Previous page JS version
- Next page JS 2015 (ES6)
ECMAScript 5 ni ingine ni nini?
ECMAScript 5 inaitwa na hata hivyo ES5 na ECMAScript 2009.
Kituo hiki kinasababisha kwamba ina matukio bora ya ECMAScript 5.
Matukio ya ECMAScript 5
Hii ni matukio ya kina kina kina kina ambayo zilipatikana katika 2009:
- "use strict" kina kina kina
- String.trim()
- Array.isArray()
- Array.forEach()
- Array.map()
- Array.filter()
- Array.reduce()
- Array.reduceRight()
- Array.every()
- Array.some()
- Array.indexOf()
- Array.lastIndexOf()
- JSON.parse()
- JSON.stringify()
- Date.now()
- Maana ya kifaa na mtaarifu wa kumekadiri
- Maana ya kifaa na matukio mpya
Kina kina kina kina ya kiwango cha ECMAScript 5
- Kutumia [ ] kwenye kina kina kina ya matukio
- Kina kina kina kina ya matukio ya msingi na jadwali
- Kina kina kina kina ya matukio ya mawili
- ni kiwango hiki kinachotumika kama jina la kiwango.
"use strict" kina kina kina
"use strict
" Kina kina kina kina inae kuzingumza na kiwango cha JavaScript ambacho inahitaji kufanywa kina kina kina.
Kama kiwango hiki kina kina kina, hauwezi kutumia kiwango hiki ambacho haitahitaji kushuhudia.
Inaweza kutumika kwenye programu zote. Itokeza kwamba ina kusababisha kwamba inavyotumika kwa kina kina kina, kama kusababisha kwamba hauwezi kutumia kiwango hiki ambacho haitahitaji kushuhudia.
"use strict
" ina nia kwamba hii ni mfano wa hisia ya neno. Kama kiwango hiki haitafikia kwa kiwango hiki, kina kina kina haitakaribwa kosa.
Sakina kueleza. JS kina kina kina zaidi.
String.trim()
String.trim()
Kupunguza herufi za huzuni kwenye kina na kina cha kifupi.
Example
var str = " Hello World! "; alert(str.trim());
Tafadhali tukumbuke hapa: Matukio ya string ya JS kueleza jadi zaidi.
Array.isArray()
isArray()
Mwongozo huu inae kujaribu kusababisha kwamba kiwango hiki ni msingi.
Example
function myFunction() { var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = document.getElementById("demo"); x.innerHTML = Array.isArray(fruits); }
Tafadhali tukumbuke hapa: JS msingi kueleza jadi zaidi.
Array.forEach()
forEach()
Mwongozo huu inae kusababisha kwamba maelezo ya msingi inae kufikia kila kiwango kila mara.
Example
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.
Array.map()
Mfano hii inae kuzingumza na kufikia watu wote katika msingi kufikia msingi mpya:
Example
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.
Array.filter()
Mfano hii inae kuzungumza na matumizi ya uadilifu kwenye msingi kubuni msingi mpya:
Example
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.
Array.reduce()
Mfano hii inae hifadhi jumla ya watu wote ya mawili kwenye msingi:
Example
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.
Array.reduceRight()
Mafanikio hii inaelewa kusoma tabia za namba zote kwenye Array:
Example
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.
Array.every()
Mafanikio hii inaelewa kusoma inayofikia juu ya 18 kwa tabia zote:
Example
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.
Array.some()
Mafanikio hii inaelewa kusoma tabia kwenye namba zingi na kuwaambuka inayofikia juu ya 18:
Example
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.some(myFunction); function myFunction(value) { return value > 18; }
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.
Array.indexOf()
Inarusha ukimwita tabia ya elementi kwenye kipakana cha Array na kurudi uko wa tabia hiyo:
Example
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa ArrayKupata maadili zaidi.
Array.lastIndexOf()
Array.lastIndexOf()
na Array.indexOf()
Inafanana, lakini inasafirisha kuanzia mcho wa mengine wa joto.
Example
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
Tafadhali tukumbuke hapa: Mwongozo wa ujaribiko wa JS wa Array Kupata maadili zaidi.
JSON.parse()
Tukio lake lake kawaida la JSON ni kusoma data kutoka kwenye mtaalamu wa Web.
Tukufikiria, tunarusha nyingwani hii ya teksti kutoka kwenye mtaalamu wa Web:
'{"name":"Bill", "age":62, "city":"Seatle"}'
Funguo ya JavaScript JSON.parse()
Inatumiwa kusoma nyingwani kwenda kama muundo wa JavaScript:
var obj = JSON.parse('{"name":"Bill", "age":62, "city":"Seatle"}');
Tafadhali tukumbuka katika Mafunzo ya JSON Kupata maadili zaidi.
JSON.stringify()
Tukio lake lake kawaida la JSON ni kusoma data kwenye mtaalamu wa Web.
Inafaa kwamba data inaelewa kwenye mtaalamu wa Web kufikia kama nyingwani.
Tukufikiria, hatua yetu ni hii ya JavaScript:
var obj = {"name":"Bill", "age":62, "city":"Seatle"};
Tumia programu ya JavaScript JSON.stringify() ili kuvunja kwa nyingwani.
var myJSON = JSON.stringify(obj);
Matokeo ni kuingia nyingwani ambayo inafanana na JSON representation.
myJSON niwe ni nyingwani, inayopungua kwenda kwenye mtaalamu:
Example
var obj = {"name":"Bill", "age":62, "city":"Seatle"}; var myJSON = JSON.stringify(obj); document.getElementById("demo").innerHTML = myJSON;
Tafadhali tukumbuka katika Mafunzo ya JSON Kupata maadili zaidi.
Date.now()
Date.now() inatuma kwa mawili ya msaa kutoka tarehe ya nje (1 Januari 1970 00:00:00:00).
Example
var timInMSs = Date.now();
Date.now()
inaonyesha kama jumla ya muda katika kifaa ya Tarehe kwa kufanya getTime().
Tafadhali tukumbuke hapa: Tuzo ya Tarehe ya JS kuikenda zaidi.
Maana ya kifaa na mtaarifu wa kumekadiri
ES5 inafaa kuuweza kutumia lugha ya kufikia na kubadilisha maisha ya kifaa kwa kumekadiri kifaa.
Mfano huu una kumekadiri kifaa kwa jina lile linalojulikana kama fullName. getter:
Example
// Kina kiwango: var person = { firstName: "Bill", lastName : "Gates", get fullName() { return this.firstName + " " + this.lastName; } }); // Tumia getter kuonesha data kutoka kwenye kifaa: document.getElementById("demo").innerHTML = person.fullName;
Mfano huu una kumekadiri kifaa ya lugha kwa kuzengera kwa getter na setter. setter na getter:
Example
var person = { firstName: "Bill", lastName : "Gates", language : "NO", get lang() { return this.language; }, set lang(value) { this.language = value; } }); // Tumia setter kuweka maana kwenye kifaa: person.lang = "en"; // Tumia getter kuonesha data kutoka kwenye kifaa: document.getElementById("demo").innerHTML = person.lang;
Mfano huu una tumia setter kuweza kubadilisha kwa ukuu ya lugha:
Example
var person = { firstName: "Bill", lastName : "Gates", language : "NO", set lang(value) { this.language = value.toUpperCase(); } }); // Tumia setter kuweka maana kwenye kifaa: person.lang = "en"; // Onyesha data kutoka kwenye kifaa: document.getElementById("demo").innerHTML = person.language;
Tafadhali tukumbuke hapa: Kufikia kifaa cha JS kuikenda zaidi kuhusu mtaarifu wa getter na setter.
Maana ya kifaa na matukio mpya
Object.defineProperty()
Inaonekana kama mtu mpya katika ES5.
Inafaa inayoweza kuuweza kumekadiri maisha ya msingi ya kifaa na/au kubadilisha thamani ya maisha ya kifaa na/au meta-data.
Example
// Kina kiwango: var person = { firstName: "Bill", lastName : "Gates", language : "NO", }); // Badilisha kiwango: Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable: true, configurable : true }); // Kina kiwango var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
Mfano wa kifo ni kama hii kipindi kimekabidhi kwa kusimamia kiwango cha lenga katika kina kiwango kwa kufadhiwa katika orodha:
Example
// Kina kiwango: var person = { firstName: "Bill", lastName : "Gates", language : "NO", }); // Badilisha kiwango: Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable : false, configurable : true }); // Kina kiwango var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
// Hii inakubadilisha kati ya setter na getter kuwa mkakati kwa kuupita hifadhi kwa kichwa kikuu cha lenga:
Example
// Kina kiwango: var person = { firstName: "Bill", lastName : "Gates", language : "NO" }); // Badilisha kiwango: Object.defineProperty(person, "language", { get : function() { return language }, set : function(value) { language = value.toUpperCase()} }); // Badilisha lenga person.language = "en"; // Showa lenga document.getElementById("demo").innerHTML = person.language;
Vifaa vya kiume vya ES5
ECMAScript 5 aningia kiwango kipya kwa sababu ya JavaScript:
// Angalia au kubadilisha kiwango cha kitu Object.defineProperty(object, property, descriptor) // Angalia au kubadilisha kati ya viwango vingine vya kitu Object.defineProperties(object, descriptors) // Uainuka kwa kiwango cha hasira Object.getOwnPropertyDescriptor(object, property) // Ingia yote katika orodha Object.getOwnPropertyNames(object) // Ingia viwango vingine katika orodha Object.keys(object) // Uainuka maelezo ya msingi Object.getPrototypeOf(object) // Inasababisha kuwa kina hali haitafutaji kufikia kushika kwa kina hali Object.preventExtensions(object) // Inakubaliana na true kama kina hali inaweza kuwa inasababisha kuwa inasababisha Object.isExtensible(object) // Inasababisha kuwa kina hali haitafutaji kufikia kushika kwa kina hali (bila hali) Object.seal(object) // Inakubaliana na true kama kina hali inasababisha kuwa inasababisha Object.isSealed(object) // Inasababisha kuwa kina hali haitafutaji hali yoyote Object.freeze(object) // Inakubaliana na true kama kina hali inafungua Object.isFrozen(object)
Tafadhali tukumbuke hapa: Mwongozo wa Object ECMAScript5 Kupata maadili zaidi.
Uhamisho wa kiwango cha kawaida cha string
charAt()
Method inaonyesha herufi kwenye kiwango cha kawaida cha string:
Example
var str = "HELLO WORLD"; str.charAt(0); // Inaonyesha H
ECMAScript 5 inaruhusiwa kufikia kushika kwa string:
Example
var str = "HELLO WORLD"; str[0]; // Inaonyesha H
Uhamisho wa kiwango cha kawaida cha string inaweza kuwa inasikitaka.
Tafadhali tukumbuke hapa: Matukio ya string ya JS Kupata maadili zaidi.
Chuki za kufikia kushika (Trailing Commas)
ECMAScript 5 inaruhusiwa kusababisha chuki za kufikia kushika kwenye ufafanuzi wa kina na matukio:
Mfano wa Object
person = { firstName: "Bill", lastName: "Gates", age: 62, }
Mfano wa Array
points = [ 1, 5, 10, 25, 40, 100, ];
Tahadhari!!!
Internet Explorer 8 itakadifuati.
JSON haaminwi kusababisha chuki za kufikia kushika.
Mwongozo wa JSON:
// Inasikitaka inayowakilika: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62}' JSON.parse(person) // Hatarisha inasikitaka: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62,}' JSON.parse(person)
Mataja ya JSON:
// Inasikitaka inayowakilika: points = [40, 100, 1, 5, 25, 10] // Hatarisha inasikitaka: points = [40, 100, 1, 5, 25, 10,]
Multi-line strings
If backslashes are used for escaping, ECMAScript 5 allows multi-line string literals (literals):
Example
"Hello \ Kitty!";
The backslash method may not be universally supported.
Older browsers may handle spaces around the backslash in different ways.
Some old browsers do not allow spaces after the backslash character.
A safer way to split string literals is to use string concatenation:
Example
"Hello " + "Kitty!";
Reserved words as property names
ECMAScript 5 allows reserved words to be used as property names:
Object example
var obj = {name: "Bill", new: "yes"}
ES5 (ECMAScript 5) browser support
Chrome 23, IE 10 and Safari 6 are the first batch of browsers that fully support ECMAScript 5:
Chrome 23 | IE10 / Edge | Firefox 21 | Safari 6 | Opera 15 |
September 2012 | September 2012 | April 2013 | July 2012 | July 2013 |
- Previous page JS version
- Next page JS 2015 (ES6)