一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

W3C Group的JavaScript1.8 新特性介紹

JavaScript 1.8 計劃作為Gecko 1.9(將要合并在Firefox 3中)的一部分開始使用的。比起JavaScript 1.7來說,這只是很小的更新,不過它也確實包含了一些向ECMAScript 4/JavaScript 2進(jìn)化的痕跡。JavaScript 1.8還將包含在JavaScript 1.6 和 JavaScript 1.7中的所有新特性。
使用 JavaScript 1.8
為了可以在HTML中使用 JavaScript 1.8 的新特性,需要如下這樣寫:
<script type="application/Javascript;version=1.8"> ... 你的代碼 ... </script>
在使用 JavaScript shell 、JavaScript XPCOM 組件,或者 XUL <script> 元素的時候,就是自動使用最新的JS版本(Mozilla 1.9中的 JS1.8)。
如果需要使用新的關(guān)鍵字 "yield" 和 "let" 的話,你就要指定是1.7版本或者更高的版本,因為已經(jīng)寫好的那些代碼可能會把這兩個關(guān)鍵字用作變量名或者函數(shù)名。如果并沒有使用任何新的關(guān)鍵字,就可以不用指定JavaScript的版本。
表達(dá)式閉包
這個新添加的特性其實就是簡單函數(shù)的方便寫法,使得這個語言更加類似典型的Lambda notation.
JavaScript 1.7 以及更老的版本:
function(x) { return x * x; }
JavaScript 1.8:
function(x) x * x
這個語法允許你省略花括號和 'return' 語句 -- 隱式的做它們的工作。用這種方法寫,就只是表面上看起來短了一些,并沒有其他好處。
示例:
綁定事件處理器的簡單寫法:
document.addEventListener("click", function() false, true);
把這個定義與JavaScript 1.6中的一寫數(shù)組函數(shù)一起使用:
elems.some(function(elem) elem.type == "text");
生成器表達(dá)式
這個新添加的特性,允許你簡單的創(chuàng)建生成器(在JavaScript 1.7引入的)。通常你以前需要創(chuàng)建一個自定義的函數(shù),它含有一個 yield,但是這個新特性使你可以使用類似數(shù)組概念的語法來創(chuàng)建一個獨立的生成器句柄。
JavaScript 1.7 中,你可能需要寫出想下面這樣的代碼來為一個對象創(chuàng)建自定義的生成器:
function add3(obj) {
for ( let i in obj )
yield i + 3;
}
let it = add3(someObj);
try {
while (true) {
document.write(it.next() + "<br>/n");
}
} catch (err if err instanceof StopIteration) {
document.write("End of record.<br>/n");
}
JavaScript 1.8 中,你可以規(guī)避要重建生成器函數(shù)的麻煩,而使用一個生成器表達(dá)式來代替:
let it = (i + 3 for (i in someObj));
try {
while (true) {
document.write(it.next() + "<br>/n");
}
} catch (err if err instanceof StopIteration) {
document.write("End of record.<br>/n");
}
生成器表達(dá)式也可以像數(shù)值那樣被傳給一個函數(shù)。非常值得注意的是,生成器在絕對必要的有用的時候才被運行(并不像典型的數(shù)組概念的條件那樣,預(yù)先搭好數(shù)組的結(jié)構(gòu))。這個區(qū)別可以從下面的例子中看到:
使用JavaScript 1.7 數(shù)組理念
handleResults([ i for ( i in obj ) if ( i > 3 ) ]);
function handleResults( results ) {
for ( let i in results )
// ...
}
使用 JavaScript 1.8 的生成器表達(dá)式
handleResults( i for ( i in obj ) if ( i > 3 ) );
function handleResults( results ) {
for ( let i in results )
// ...
}
這兩個例子之間最大的區(qū)別就是,使用生成器表達(dá)式的時候,只需要循環(huán)那個 'obj' 結(jié)構(gòu)一次,總共;而在第一個例子中,將會在遞歸的時候再循環(huán)一次。
JavaScript 1.8.1
JavaScript 1.8.1包含在Gecko1.9.1(將整合到Firefox3.5中)中。該版本只有很少的更新,主要集中在添加實時編譯跟蹤,參見:Tracemonkey just-in-time compiler。
當(dāng)然其中較為顯著的改變是移除了API中的callback分支,替換了callback操作,參見:detailed in this newsgroup posting。
添加的部分
Object.getPrototypeOf()
This new method returns the prototype of a specified object.
該方法將返回指定對象的原型。
New trim methods on the String object
The String object now has trim(), trimLeft(), and trimRight() methods.
String對象現(xiàn)在將具有trim(),trimLeft(),和trimRight()方法。

JavaScript技術(shù)W3C Group的JavaScript1.8 新特性介紹,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 97起碰| 精品一区二区三区在线视频 | 深爱五月开心网亚洲综合 | 日韩中文字幕久久久经典网 | 色多多视频网站 | 国产成人综合在线视频 | 国产在线观看91精品2022 | 亚洲成精品动漫久久精久 | 大杳焦伊人久久综合热 | 日韩一区二区三 | 精品中文字幕一区二区三区四区 | 一级做a爰在线就看 | 99久久中文字幕伊人 | 91精品导航在线网址免费 | 三区在线观看 | xxxxx网| 性国产精品 | 国内精自视频品线六区免费 | 国内精品91最新在线观看 | 色婷婷综合缴情综六月 | 久久精品麻豆 | 欧美大片欧美激情免费看一 | 色婷婷免费视频 | 国产成人精品系列在线观看 | 亚洲视频一区二区三区 | 国产区一区 | 久久久噜久噜久久综合 | 四虎精品视频在线永久免费观看 | 麻豆91在线播放 | 久久国产成人福利播放 | 国产高清精品一区 | 国产精品视频一区二区三区经 | 亚洲三区视频 | 欧美日韩中文亚洲另类春色 | 一区二区三区中文国产亚洲 | 久久久中文字幕日本 | 久久久久久久成人午夜精品福利 | 加勒比东洋精品映画防屏蔽 | 精品久久久久香蕉网 | 日本久草视频 | 日韩一区二区在线播放 |