ဂျက်တိုး ES5
- အရေးပိုသော စာရင်း JS ပုံစံ
- နောက်ပိုင်း စာရင်း JS 2015 (ES6)
အက်စ်မော့စ်တီကိန်း ၅ အသင်းမှာ အမှတ်အသားအရ ဘာဆိုတာဖြစ်သလဲ။
ECMAScript 5 也称为 ES5 和 ECMAScript 2009。
本章介绍 ES5 的一些最重要的特性。
ECMAScript 5 特性
这些是 2009 年发布的新特性:
- "use strict" 指令
- 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()
- 属性 Getter 和 Setter
- 新的对象属性和方法
ECMAScript 5 语法更改
- 对字符串的属性访问 [ ]
- 数组和对象字面量中的尾随逗号
- 多行字符串字面量
- 作为属性名称的保留字
"use strict" 指令
“use strict
” 定义 JavaScript 代码应该以“严格模式”执行。
例如,使用严格模式,不能使用未声明的变量。
您可以在所有程序中使用严格模式。它可以帮助您编写更清晰的代码,例如阻止您使用未声明的变量。
“use strict
” 只是一个字符串表达式。旧浏览器如果不理解它们就不会抛出错误。
请阅读 JS 严格模式 中的更多内容。
String.trim()
String.trim()
删除字符串两端的空白字符。
实例
var str = " Hello World! "; alert(str.trim());
မိမိ ကို JS စကေးလုံး စနစ် 中阅读更多内容。
Array.isArray()
isArray()
方法检查对象是否为数组。
实例
function myFunction() { var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = document.getElementById("demo"); x.innerHTML = Array.isArray(fruits); }
မိမိ ကို JS 数组 中阅读更多内容。
Array.forEach()
forEach()
方法为每个数组元素调用一次函数。
实例
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူ အခြေခံအချက်များကို သိရှိပါ
Array.map()
ဤအကျိုးအမှုသည် အသင်းအရေအတွက် ၂ ကို ရှိသော အသင်းကို ဖန်တီးကြောင်းသတ်မှတ်သည်:
实例
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူ အခြေခံအချက်များကို သိရှိပါ
Array.filter()
ဤအကျိုးအမှုသည် ၁၈ ကျော်သော အရေးယူခြင်းအရ အသုံးပြုသော အသင်းကို ဖန်တီးကြောင်းသတ်မှတ်သည်:
实例
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူ အခြေခံအချက်များကို သိရှိပါ
Array.reduce()
ဤအကျိုးအမှုသည် အတွက်အရေအတွက် ပေါင်းစပ်ခြင်းကို အတွေ့ရသည်:
实例
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူ အခြေခံအချက်များကို သိရှိပါ
Array.reduceRight()
အချက် ပြော လို့ ပြီ
实例
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူ အခြေခံအချက်များကို သိရှိပါ
Array.every()
အချက် ပြော လို့ ပြီ
实例
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူ အခြေခံအချက်များကို သိရှိပါ
Array.some()
အချက် ပြော လို့ ပြီ
实例
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.some(myFunction); function myFunction(value) { return value > 18; }
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူ အခြေခံအချက်များကို သိရှိပါ
Array.indexOf()
အသင်း တွင် တစ် ခု ဖြစ်သော အချက် ကို ရှာဖွေ လုပ်ဆောင် ပြီး တစ် ခု ကို ပြန်လည် ပေးပို့ လုပ်ဆောင် သည်
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူအခြေခံအချက်များကို သိရှိပါ
Array.lastIndexOf()
Array.lastIndexOf()
နှင့် Array.indexOf()
အတူတူ ဖြစ် သော်လည်း အခြား အစား အစား ကြိုးစား လုပ်ဆောင် သည်
实例
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
မိမိ ကို JS စကာတင် အသုံးပြု အပြုအမူ အခြေခံအချက်များကို သိရှိပါ
JSON.parse()
JSON သည် ဗဟိုမြောက် ကို ပေးပို့ လုပ်ဆောင် ရန် အသုံးပြု အသုံးပြု အပြုအမူ
ကျွန်ုပ် သည် ဗဟိုမြောက် ကို ပေးပို့ လိမ့်မည် ကော်းခွဲခြင်း ကို ကျွန်ုပ် ရှိတယ်
'{"name":"Bill", "age":62, "city":"Seatle"}'
JavaScript စာပေးဆောင် လက်တွေ JSON.parse()
အချက် ပြော လို့ ပြီ
var obj = JSON.parse('{"name":"Bill", "age":62, "city":"Seatle"}');
请在我们的 JSON 教程 အခြေခံအချက်များကို သိရှိပါ
JSON.stringify()
JSON သည် ဗဟိုမြောက် ကို ပေးပို့ လုပ်ဆောင် ရန် အသုံးပြု အသုံးပြု အပြုအမူ
ဗဟိုမြောက် ကို ပေးပို့လိမ့်မည် စကာတင် အချက် ကောင်းသည်
ကျွန်ုပ် သည် JavaScript တွင် ထို အရာ ရှိတယ် ကျွန်ုပ် က
var obj = {"name":"Bill", "age":62, "city":"Seatle"};
JSON.stringify() ဂုဏ်ကျေးဇူး ကို ကော်းခွဲခြင်း သို့ ပြောင်းလဲပေးမည်
var myJSON = JSON.stringify(obj);
ရလဒ်မှာ JSON ကို ကိုးကွယ် ပြီး ကော်းခွဲခြင်း ဖြစ်သော ကော်းခွဲခြင်း ဖြစ်ပါသည်
myJSON က အခု သည် ကော်းခွဲခြင်း ဖြစ်ပြီး ဗဟိုမြောက် ကို ပေးပို့လိမ့်မည်
实例
var obj = {"name":"Bill", "age":62, "city":"Seatle"}; var myJSON = JSON.stringify(obj); document.getElementById("demo").innerHTML = myJSON;
请在我们的 JSON 教程 အခြေခံအချက်များကို သိရှိပါ
Date.now()
Date.now() 返回自零日期(1970 年 1 月 1 日 00:00:00:00)以来的毫秒数。
实例
var timInMSs = Date.now();
Date.now()
的返回与在 Date 对象上执行 getTime() 的结果相同。
မိမိ ကို JS 日期 中学习更多。
属性 Getter 和 Setter
ES5 允许您使用类似于获取或设置属性的语法来定义对象方法。
这个例子为名为 fullName 的属性创建一个 getter:
实例
// အစား အရေးပါသော အစား var person = { firstName: "Bill", lastName : "Gates" get fullName() { return this.firstName + " " + this.lastName; } }); // 使用 getter 显示来自对象的数据: document.getElementById("demo").innerHTML = person.fullName;
这个例子为语言属性创建一个 setter 和一个 getter:
实例
var person = { firstName: "Bill", lastName : "Gates" language : "NO", get lang() { return this.language; }, set lang(value) { this.language = value; } }); // 使用 setter 设置对象属性: person.lang = "en"; // 使用 getter 显示来自对象的数据: document.getElementById("demo").innerHTML = person.lang;
这个例子使用 setter 来确保语言的大写更新:
实例
var person = { firstName: "Bill", lastName : "Gates" language : "NO", set lang(value) { this.language = value.toUpperCase(); } }); // 使用 setter 设置对象属性: person.lang = "en"; // 显示来自对象的数据: document.getElementById("demo").innerHTML = person.language;
မိမိ ကို JS 对象访问器 中学习更多有关 Getter 和 Setter 的知识。
新的对象属性和方法
Object.defineProperty()
是 ES5 中的新对象方法。
它允许您定义对象属性和/或更改属性的值和/或元数据。
实例
// အစား အရေးပါသော အစား var person = { firstName: "Bill", lastName : "Gates" language : "NO", }); // စက်တင်ခြင်း Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable : true, configurable : true }); // အစား အရေးပါသော အစား var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
နောက်ထပ် အစား အရေးပါသော အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား အစား စက်တင်ခြင်း
实例
// အစား အရေးပါသော အစား var person = { firstName: "Bill", lastName : "Gates" language : "NO", }); // စက်တင်ခြင်း Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable : false, configurable : true }); // အစား အရေးပါသော အစား var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
// အစား အရေးပါသော အစား
实例
// အစား အရေးပါသော အစား var person = { firstName: "Bill", lastName : "Gates" language : "NO" }); // စက်တင်ခြင်း Object.defineProperty(person, "language", { get : function() { return language }, set : function(value) { language = value.toUpperCase()} }); // စက်တင်ခြင်း person.language = "en"; // စက်တင်ခြင်း document.getElementById("demo").innerHTML = person.language;
ES5 တွင် အသုံးပြုခြင်း
ECMAScript 5 က ဂျပန်စာစဉ် ပေါ်တွင် အသုံးပြုခြင်း
// အစား စက်တင်ခြင်း Object.defineProperty(object, property, descriptor) // အစား အရေးပါသော စက်တင်ခြင်း Object.defineProperties(object, descriptors) // စက်တင်ခြင်း Object.getOwnPropertyDescriptor(object, property) // အစား အရေးပါသော စက်တင်ခြင်း Object.getOwnPropertyNames(object) // စံသုတ်သင်ခြင်း အစား စက်တင်ခြင်း Object.keys(object) // စက်တင်သုတ်သင်ခြင်း Object.getPrototypeOf(object) // အရင်းအမြစ် ကို အခွင့်ပြုခြင်း ကို ပိတ်ပင်ပါ Object.preventExtensions(object) // အရင်းအမြစ် ကို အခွင့်ပြုခြင်း ကို ပြန်ပေးပါ Object.isExtensible(object) // အရင်းအမြစ် အခွင့်အရေး ကို ပိတ်ပင်ပါ Object.seal(object) // အရင်းအမြစ် ကို ပိတ်ပင်ခဲ့တာက အောက်ပါ ကို ပြန်ပေးပါ Object.isSealed(object) // အရင်းအမြစ် ကို ပိတ်ပင်ပါ Object.freeze(object) // အရင်းအမြစ် ကို ပိတ်ပင်ခဲ့တာက အောက်ပါ ကို ပြန်ပေးပါ Object.isFrozen(object)
မိမိ ကို အရင်းအမြစ် ECMAScript5 အခြေခံအချက်များကို သိရှိပါ
စကေးလုံး အခွင့်အရေး အစား
charAt()
စနစ် ကို ပြန်ပေးပါ
实例
var str = "HELLO WORLD"; str.charAt(0); // ကွား H
ECMAScript 5 မှာ စကေးလုံး အခွင့်အရေး အစား ခွင့်ပြုနိုင်ပါသည်:
实例
var str = "HELLO WORLD"; str[0]; // ကွား H
စကေးလုံး အခွင့်အရေး မှာ မတူကြပါ
မိမိ ကို JS စကေးလုံး စနစ် အခြေခံအချက်များကို သိရှိပါ
နောက်ပါးချိုးချက်(Trailing Commas)
ECMAScript 5 မှာ အရင်းအမြစ် နှင့် စကေးလုံးပိုင်း အစား နောက်ပါးချိုးချက် ကို ခွင့်ပြုနိုင်ပါသည်:
Object အမျိုးအစား
person = { firstName: "Bill", lastName: " Gates", age: 62, }
Array အမျိုးအစား
points = [ 1, 5, 10, 25, 40, 100, ];
သတိပေးပါသည်!!!
Internet Explorer 8 မှာ ပြိုကျကြလိမ့်မည်。
JSON မှာ နောက်ပါးချိုးချက် မပါဘူး。
JSON အရင်းအမြစ်:
// ခွင့်ပြုခြင်းရှိဘူး: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62}' JSON.parse(person) // မမေးမြန်းခြင်းမရှိဘူး: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62,}' JSON.parse(person)
JSON စကေးလုံးပိုင်း:
// ခွင့်ပြုခြင်းရှိဘူး: points = [40, 100, 1, 5, 25, 10] // မမေးမြန်းခြင်းမရှိဘူး: points = [40, 100, 1, 5, 25, 10,]
多行字符串
如果使用反斜杠转义,ECMAScript 5 允许多行的字符串文字(字面量):
实例
"Hello \ Kitty!";
\ 方法可能没有得到普遍的支持。
较旧的浏览器可能会以不同的方式处理反斜杠周围的空格。
一些旧的浏览器不允许 \ 字符后面的空格。
分解字符串文字的一种更安全的方法是使用字符串添加:
实例
"Hello " + "Kitty!";
保留字作为属性名称
ECMAScript 5 သည် အသုံးပြုခဲ့သော စကားရပ် ကို အချက်အလက် အမည် အဖြစ် သုံးနိုင်သည်:
အရာ အကြိမ်ဖြူ
var obj = {name: "Bill", new: "yes"}
ES5 (ECMAScript 5) ဘတ်ရှား ထောက်ပံ့
Chrome 23, IE 10 နှင့် Safari 6 သည် ECMAScript 5 ကို အပြောင်းအလဲမရှိ ထောက်ပံ့သော ဘတ်ရှားများ အပေါ်လုပ်ငန်းတစ်ခုလုံးဖြစ်သည်:
ဖရန့်ဖေ 23 | IE10 / Edge | ဖရန့်ဖေ 21 | ဆာဖာ 6 | အိုပရက် 15 |
2012 ခုနှစ် နိုဝင်ဘာ လ | 2012 ခုနှစ် နိုဝင်ဘာ လ | 2013 ခုနှစ် မတ် လ | 2012 ခုနှစ် ဇွန် လ | 2013 ခုနှစ် ဇွန် လ |
- အရေးပိုသော စာရင်း JS ပုံစံ
- နောက်ပိုင်း စာရင်း JS 2015 (ES6)