ဂျိုးတိုပ်စ် သဘော
- ပြီးအပတ် ဂျိုးတိုပ်စ် သမိုင်း
- နောက်အပတ် အက်စ်အမ်အေ ၂၀၁၆ ပြောင်းလဲ
JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象;
DOM 描述了处理网页内容的方法和接口;
BOM 描述了与浏览器进行交互的方法和接口。
ECMAScript、DOM 和 BOM
尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

ECMAScript
ECMAScript သည် အမှန်တကယ် အခြား အမှန်တကယ် ဘရောက်သတ် သော ဘရောက်သတ် ကို ကိုယ်စား မရှိ သည်။ သို့သော်လည်း,အသုံးပြုသူ အဖွဲ့ အပိုင်း အပိုင်း သို့ ဆိုင်သော စကား လုပ်ငန်း နှင့် အော်ပရောက် အော်ပရောက် ကို တက်သွား သည်။ ထို့အပြင်,C သည် အခြား အမှန်တကယ် ကဲ့သို့ သို့ မဟုတ်။ ထို့ကြောင့် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် အမှန်တကယ် ကို အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် အခြေစိုက် ကို ကြောင်းပြောသည်။
“ECMAScript က အခြား အမျိုးမျိုး သို့ ဆိုင်သော အခြေစိုက် ပြင်ပ မှု ကို အခြေစိုက် စကား လုပ်ငန်း လက်တွေ့ ပေးပေး သည်... ...”
Web 浏览器对于 ECMAScript 来说是一个宿主环境,但它并不是唯一的宿主环境。事实上,还有不计其数的其他各种环境(例如 Nombas 的 ScriptEase,以及 Macromedia 同时用在 Flash 和 Director MX 中的 ActionScript)可以容纳 ECMAScript 实现。那么 ECMAScript 在浏览器之外规定了些什么呢?
简单地说,ECMAScript 描述了以下内容:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 运算符
- 对象
ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性、方法和对象。其他语言可以实现 ECMAScript 来作为功能的基准,JavaScript 就是这样:

每个浏览器都有它自己的 ECMAScript 接口的实现,然后这个实现又被扩展,包含了 DOM 和 BOM(在以下几节中再探讨)。当然还有其他实现并扩展了 ECMAScript 的语言,例如 Windows 脚本宿主(Windows Scripting Host, WSH)、Macromedia 在 Flash 和 Director MX 中的 ActionScript,以及 Nombas ScriptEase。
1. ECMAScript 的版本
ECMAScript 分成几个不同的版本,它是在一个叫做 ECMA-262 的标准中定义的。和其他标准一样,ECMA-262 会被编辑和更新。当有了主要更新时,就会发布一个标准的新版。最新 ECMA-262 的版本是 5.1,于 2011 年 6 月发布。
ECMA-262 的第一版在本质上与 Netscape 的 JavaScript 1.1 是一样,只是把所有与浏览器相关的代码删除了,此外还有一些小的调整。首先,ECMA-262 要求对 Unicode 标准的支持(以便支持多语言)。第二,它要求对象是平台无关的(Netscape 的 JavaScript 1.1 事实上有不同的对象实现,例如 Date 对象,是依赖于平台)。这是 JavaScript 1.1 和 1.2 为什么不符合 ECMA-262 规范第一版的主要原因。
ECMA-262 的第二版大部分更新本质上是编辑性的。这次标准的更新是为了与 ISO/IEC-16262 的严格一致,也并没有特别添加、更改和删除内容。ECMAScript 一般不会遵守第二版。
ECMA-262 第三版是该标准第一次真正的更新。它提供了对字符串处理、错误定义和数值输出的更新。同时,它还增加了正则表达式、新的控制语句、try...catch 异常处理的支持,以及一些为使标准国际化而做的小改动。一般来说,它标志着 ECMAScript 成为一种真正的编程语言。
2. 何谓 ECMAScript 符合性
在 ECMA-262 中,ECMAScript 符合性(conformance)有明确的定义。一个脚本语言必须满足以下四项基本原则:
- 符合的实现必须按照 ECMA-262 中所描述的支持所有的“类型、值、对象、属性、函数和程序语言及语义”(ECMA-262,第一页)
- 符合的实现必须支持 Unicode 字符标准(UCS)
- 符合的实现可以增加没有在 ECMA-262 中指定的“额外类型、值、对象、属性和函数”。ECMA-262 将这些增加描述为规范中未给定的新对象或对象的新属性
- 符合的实现可以支持没有在 ECMA-262 中定义的“程序和正则表达式语法”(意思是可以替换或者扩展内建的正则表达式支持)
အက်စ်မေးရီ အကူအညီ ဖြစ်သော အရာဝတ္တုများ အား အခြေခံ အဆိုအချက် များ ကို လိုက်နာခြင်း လိုအပ်သည်။
၃. ဝီကီ ဘားလီယာ တွင် အက်စ်မေးရီ အကူအညီ
ကျော်ကျာ်ဆိုက် ဂျူနော်စ် ၁.၁ အတွက် နောက်ဆုံး ကျော်ကျာ်ဆိုက် ၃.၀ ကို ၁၉၉၆ ခုနှစ်တွင် ထုတ်ဝေခဲ့သည်။ နောက်ပြီးတွင် ဂျူနော်စ် ၁.၁ ကို အခြား အခြား အဆိုအချက် အဖြစ် တင်ပြခဲ့သည်။ ဂျူနော်စ် လူတွေ့ချော်ချော် အားကူးခဲ့ကြောင်း ကျော်ကျာ်ဆိုက် က ဝေးလွန်စွာ ဖိုးတုံးပြီး ၁.၂ အချက်အလက် တွင် တည်ဆဲဖြစ်ကြသည်။ သို့သော် အကယ်၍ အက်စ်မေးရီ အား ဂျူနော်စ် ကို အဆိုအချက် မမြင်တော့ခဲ့ပေ။ ကျော်ကျာ်ဆိုက် ၃.၀ ထုတ်ဝေပြီး မကြာခင် မိုက်ခရိုဆော့ က အိပ်ဒီ ၃.၀ ကို ထုတ်ဝေခဲ့သည်။ အိပ်ဒီ ၃.၀ မှာ ဂျူနော်စ် ၁.၀ ပါဝင်သည်။ ဂျူနော်စ် ၁.၁ နှင့် တူညီအောင် စီစဥ်ခဲ့သည်။ သို့သော် အခွန်အချက် မပင်မ နှင့် အချက်အလက် မပင်မ ပါဝင်ခြင်းမှ ဂျူနော်စ် ၁.၀ က ဂျူနော်စ် ၁.၁ နှင့် အတူ အသင်းပေါင်းခြင်း မ ရှိခဲ့ပေ။
在 ECMA-262 第一版定稿之前,发布含有 JavaScript 1.2 的 Netscape Navigator 4.0 是在 1997 年,在那年晚些时候,ECMA-262 标准被接受并标准化。因此,JavaScript 1.2 并不和 ECMAScript 的第一版兼容,虽然 ECMAScript 应该基于 JavaScript 1.1。
JScript 的下一步是 IE 4.0 中加入的 JScript 3.0(2.0 版是随 IIS 3.0 一起发布的,但并未包含在浏览器中)。微软大力宣传 JScript 3.0 是世界上第一个真正符合 ECMA 标准的脚本语言。而那时,ECMA-262 还没有最终定稿,所以 JScript 3.0 也遭受了和 JavaScript 1.2 同样的命运 - 它还是没能符合最终的 ECMAScript 标准。
Netscape သည် Netscape Navigator 4.06 တွင် သူတို့၏ JavaScript အပြောင်းအလဲများ မြှင့်တင်ခဲ့သည်။ JavaScript 1.3 သည် Netscape သည် ECMAScript တစ်ပုံစံ ပထမပုံစံ ကို ပြည့်ဝစွာ လိုက်နာနိုင်ခဲ့သည်။ Netscape သည် Unicode အဆိုပါ အခြေခံ အဆိုပါ အခြေခံ ကို လက်ခံခဲ့သည် နှင့် အားလုံးသော အားကစားလုပ်ငန်းများသည် JavaScript 1.2 တွင် ထည့်သွင်းခဲ့သော အခြေခံ အကျိုးဆက်များ ကို ကိုက်ညီစွာ ပြုလုပ်ခဲ့သည်။
Netscape မှ သူတို့၏ အရင်းမြစ် ကုဉ်းကို Mozilla စာကြိုးစားရေး အစီအစဉ် အတွက် ပြသခဲ့သောအခါ လက်ရှိတွင် JavaScript 1.4 သည် Netscape Navigator 5.0 တွင် ထည့်သွင်းရန် အစီအစဉ်ဖြင့် ရှိနေခဲ့သည်။ သို့သော် အလွန်အမျှကြောင်းမှာ အဆိုပါ ဆုံးဖြတ်ချက် - Netscape မှ အရင်းမြစ် ကုဉ်းကို အပြောင်းအလဲမှု များစွာဖြင့် ပြန်လည်တည်ဆောက်ရန် ဆုံးဖြတ်ခဲ့ခြင်းကြောင့် အကျဉ်းခံခဲ့ရသည်။ JavaScript 1.4 သည် သာလျှင် Netscape Enterprise Server အတွက် နှင့် သုံးနိုင်သော နှင့် နောက်ထပ် ဘလက်စ်တာ တွင် ထည့်သွင်းခြင်း မရှိခဲ့ပေ။
ယခုအခါ အဓိကလိပ်ခွဲများစုံများသည် ECMA-262 တတိယပုံစံကို လိုက်နာကြသည်။
下面的表格列出了大部分流行的 Web 浏览器中的 ECMAScript 支持:
ဘရောက်ဆာ | DOM ကိုင်သန့်ခြင်း |
---|---|
Netscape Navigator 2.0 | - |
Netscape Navigator 3.0 | - |
Netscape Navigator 4.0 - 4.05 | - |
Netscape Navigator 4.06 - 4.79 | Edition 1 |
Netscape 6.0+ (Mozilla 0.6.0+) | Edition 3 |
Internet Explorer 3.0 | - |
Internet Explorer 4.0 | - |
Internet Explorer 5.0 | Edition 1 |
Internet Explorer 5.5+ | Edition 3 |
Opera 6.0 - 7.1 | Edition 2 |
Opera 7.2+ | Edition 3 |
Safari 1.0+/Konqueror ~ 2.0+ | Edition 3 |
DOM
DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。请考虑下面的 HTML 页面:
Sample Page hello world!
这段代码可以用 DOM 绘制成一个节点层次图:

DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点。
1. 为什么 DOM 必不可少
自从 IE 4.0 和 Netscape Navigator 4.0 开始支持不同形态的动态 HTML(DHTML),开发者首次能够在不重载网页的情况下修改它的外观和内容。这是 Web 技术的一大飞跃,不过也带来了巨大的问题。Netscape 和微软各自开发自己的 DHTML,从而结束了 Web 开发者只编写一个 HTML 页面就可以在所有浏览器中访问的时期。
业界决定必须要做点什么以保持 Web 的跨平台特性,他们担心如果放任 Netscape 和微软公司这样做,Web 必将分化为两个独立的部分,每一部分只适用于特定的浏览器。因此,负责指定 Web 通信标准的团体 W3C(World Wide Web Consortium)就开始制定 DOM。
2. DOM အားျလာများ
DOM Level 1 သည် ၁၉၉၈ ခုနှစ် စက်တင်ဘာလ က W3C က တင်ပြခဲ့သည်။ အခြားအရာတွေ အပါအဝင်ဝင် နှစ်ခုမှာ ပါဝင်သည်။ အခြားအရာတွေ သည် အခြားအရာတွေ အခြားအရာတွေ ကို ပြောကြားခြင်း
မှတ်ချက်မှာ DOM သည် JavaScript မပိုင်တဲ့ပေ။ အမှန်တကယ်ဘဲ အခြားဘာသာနည်းများလည်း သူတို့က ပြုလုပ်ခဲ့ကြသည်။ သို့သော် ဝီကီ ဘာသာနည်းများတွင် DOM ကို ECMAScript ဖြင့် ပြုလုပ်ခဲ့ပြီး အခြားဘာသာနည်းများကို အခြားဘာသာနည်းများဖြင့် ပြုလုပ်ခဲ့သည်။
DOM Level 1 သည် အခြားအရာတွေ ကို ပြောကြားခြင်း
DOM Level 2 တွင် အခြားအရာတွေ အခြားအရာတွေ အခြားအရာတွေ ကို ပြောကြားခြင်း
- DOM အမြင် - အခြားအရာတွေ ကို ပြောကြားခြင်း
- DOM အခင်းအား - အခြားအရာတွေ ကို ပြောကြားခြင်း
- DOM အဆောင်းအဖြာ - အခြားအရာတွေ ကို ပြောကြားခြင်း
- DOM လိုက်လျောဝင် နှင့် နေရာများ - အခြားအရာတွေ အတွက် အခြားအရာတွေ ကို လိုက်လျောဝင် နှင့် နေရာများ ကို ကျွမ်းကျင်ပြောဆိုခြင်း
DOM Level 3 တွင် အတိုင်းအတာတူ အခြားအရာတွေ ဆောက်လုပ် နှင့် သိရှိရန် အတွက် အမျိုးမျိုးသော နည်းလမ်းများ ဆောက်လုပ်ခဲ့ပြီး (အပါအဝင်ဝင် DOM Load and Save) နှင့် အခြားအရာတွေ တိုက်ရိုက်မှုပြုနိုင်သည် (DOM Validation) အပေါ် ပြောကြားသည်။ အခြားအရာတွေကို အတိုင်းအတာတူ ပြောကြားသည်။ အခြားအရာတွေကို ပြောကြားသည်။
DOM ကျွမ်းကျင်ရာတွင် သူတို့က ဒါမှမဟုတ် DOM Level 0 ကို ကိုးကွယ်ကြလေ့ရှိသည်။ သို့သော် အမှန်တကယ်ဘဲ DOM Level 0 အချက်အလက်မရှိပေ။ အားလုံးသည် DOM အသစ်အစဉ်တစ်ခုကို သာသနာပတ်သတ်မှတ်ထားသည် (DOM Level 0 သည် IE 4.0 နှင့် Netscape Navigator 4.0 တွင် ထောက်ခံသော အစွမ်းသုံး DHTML ကို လိုက်နာသည်)
3. အခြား DOM
ဒါမှမဟုတ် DOM Core နှင့် DOM HTML အပြင် အခြား ဘာသာနည်းများလည်း သူတို့၏ DOM အချက်အလက်များ ထုတ်ဝေခဲ့ကြသည်။ အားလုံးသည် XML အခြေခံ၍ ရှိပြီး ရဲ့ချက်အချက်များသည် အသုံးပြုသော ဘာသာနည်းအတွက် သာသနာပတ်လည်းဖြစ် သည်။ အခြားသည့် DOM အတွက် သာသနာပတ်များ ပါဝင်သည်များများ ပါဝင်သည်။
- 可缩放矢量语言(SVG)1.0
- 数字标记语言(MathML)1.0
- 同步多媒体集成语言(SMIL)
မှတ်ချက်:အခြား သတင်းများ သုံးစွဲရန် ကျွန်ုပ်အား ကူညီပေးသော CodeW3C ကို ခွင့်ပြုချေ အမိန်းရ အခမ်းအနား 和 အီဗက်ဂီ အခမ်းအနား。
အခြား ဘာသာစကားများလည်း ဒီ DOM ကို ထောက်ပံ့ကြောင်း တည်ဆောက်ခဲ့သည်။ ဥပမာ Mozilla မှ XML အသုံးပြုခြင်း လိုင်း (XUL) နှင့် သာမက အထိုအထိ ကြောင်းကြားချက်များ မှာ W3C အကြောင်းကြားချက်များ ဖြစ်သည်။
Web ဘရောက်ဆာများတွင် DOM ကို ထောက်ပံ့ခြင်း
DOM သည် Web ဘရောက်ဆာများ မှ သုံးစွဲဖို့ ပြင်ဆင်ခဲ့ပြီးနောက် အခြားအခြေခံအုတ်စု ဖြစ်သည်။ IE သည် 5.0 ပုံစံတွင် DOM ကို ပထမဆုံး ကြိုးစားလုပ်ခဲ့သည်။ သို့သော် အခြားအခြေခံအုတ်စု အထိ အမြဲတမ်းအားဖြင့် 5.5 ပုံစံအထိ အသုံးပြုခဲ့သည်။ IE 5.5 သည် DOM Level 1 ကို ထောက်ပံ့သည်။ အခြားအခြေခံအုတ်စု မှ အခြား DOM အသုံးပြုခြင်း မ ရှိခဲ့ပေ။
Netscape သည် Netscape 6 (Mozilla 0.6.0) အထိ ဒီ DOM ကို ထောက်ပံ့ကြောင်း ပြင်နှင့် ယခု Mozilla သည် အကောင်းဆုံးသော DOM ကို ထောက်ပံ့သည်။ အားလုံး Level 1 ကို ထောက်ပံ့ပြီး အများစုသာ Level 2 နှင့် အချို့ Level 3 ကို ထောက်ပံ့သည်။ (Mozilla ကြီးကြပ်ရေးအဖွဲ့၏ ပုံစံအတူ 100% ထိထူးသော ဘရောက်ဆာ ကို တည်ဆောက်ရန် ရည်ရွယ်ချက် နှင့် သူတို့၏ အလုပ်သည် အောင်မြင်သွားသည်။)
Opera သည် 7.0 ပုံစံအထိ ဒီ DOM ကို ထောက်ပံ့ကြောင်း ပြင်နှင့် Safari လည်း အများစုသာ DOM Level 1 ကို ထောက်ပံ့သည်။ သူတို့သည် အတူ IE 5.5 နှင့် အတူ တူညီသည်၊ အချို့အခါတွင် အတူ IE 5.5 ထက် အထူးကြီးသည်။ သို့သော်လည်း ဒီ DOM ကို ထောက်ပံ့ခြင်း အားဖြင့် အတွေ့အကြုံတွေ့ခဲ့သော ဘရောက်ဆာတွေမှာ အတူ Mozilla ထက် အဆင့်တူမဟုတ်ပေ။ အောက်အရာတွေမှာ အသုံးချီးသော ဘရောက်ဆာတွေမှ DOM ကို ထောက်ပံ့ခြင်း ကို စဉ်တိုင်းကြည့်ကြပါ။
ဘရောက်ဆာ | DOM ကိုင်သန့်ခြင်း |
---|---|
Netscape Navigator 1.0 - 4.x | - |
Netscape 6.0+ (Mozilla 0.6.0+) | Level 1, Level 2, Level 3 (အချို့) |
IE 2.0 - 4.x | - |
IE 5.0 | Level 1 (အနည်းဆုံး) |
IE 5.5+ | Level 1 (အများစုသာ) |
Opera 1.0 - 6.0 | - |
Opera 7.0+ | Level 1 (အများစုသာ) နှင့် Level 2 (အချို့) |
Safari 1.0+/Konqueror ~ 2.0+ | Level 1 |
မှတ်ချက်:အကယ်၍ ဒီမှ DOM သတင်းကို ပို၍ သုံးစွဲရန် ကျွန်ုပ်အား ကူညီပေးသော CodeW3C ကို ခွင့်ပြုချေ ဟိုင်ဗီ ဒီမိုကရေစီ အခမ်းအနား 和 ဒီမိုကရေစီ ဒီမိုကရေစီ အခမ်းအနား。
BOM
IE 3.0 和 Netscape Navigator 3.0 提供了一种特性 - BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 BOM 独树一帜且又常常令人怀疑的地方在于,它只是 JavaScript 的一个部分,没有任何相关的标准。
BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:
- ဝင်းနန်း အခမ်းအနား ဖွင့်ပေး
- ဝင်းနန်း ပြောင်းလဲခြင်း၊ ပို့ပေးခြင်း နှင့် ဝင်းနန်း အဆင့် ပြောင်းလဲခြင်း
- ဝင်းနန်း အချို့ အချက်အလက် ကို ပြသော နေရာ အခမ်းအနား
- အသုံးပြုသူ ဖျားမား အချို့ အချက်အလက် ကို ပြသော ဖျားမား အခမ်းအနား
- ကက်သလင် အကူအညီ
- အီအီ အမူအယို ဘီအိုင်အမ် အချို့ ကို ဂျက်တာစတိန် အခမ်းအနား ဖြင့် ကူညီနိုင်
ဘရောက်ဆာ အမူအယို အချို့ သည် ဘရောက်ဆာ ဘီအိုင်အမ် အချို့ နှင့် မပိုင်ပါ။ ဘရောက်ဆာ ဘီအိုင်အမ် အချို့ အမူအယို သည် ဘီအိုင်အမ် အချို့ အတွက် နှင့် ဘီအိုင်အမ် အချို့ အတွက် ကျမ်းကို ပေးသည်။
ကျမ်းကို ကျွန်းစား
- ပြီးအပတ် ဂျိုးတိုပ်စ် သမိုင်း
- နောက်အပတ် အက်စ်အမ်အေ ၂၀၁၆ ပြောင်းလဲ