久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

為什么Dart比JavaScript更酷

2022-07-17    分類: 網(wǎng)站建設(shè)

為什么Dart比JavaScript更酷

標(biāo)簽:Dart JavaScript 網(wǎng)站設(shè)計(jì)

導(dǎo)讀:Google是家充滿創(chuàng)新力的公司。他們不喜歡Javascript了,于是自己推出了Dart。不負(fù)眾望,Dart在今年的編程語言排行榜中成了一匹黑馬,一經(jīng)發(fā)布便竄到了排行榜107位,次月居然到了63,速度驚人。作為新的結(jié)構(gòu)化Web編程語言,它真的能代替JavaScript嗎?本文作者將 Dart與JavaScript進(jìn)行對(duì)比,現(xiàn)CSDN研發(fā)頻道對(duì)此文進(jìn)行簡譯,與開發(fā)者們共同探討。

根據(jù)原文編譯的內(nèi)容如下:

Dart 是Google推出的新的結(jié)構(gòu)化Web編程語言。我對(duì)它一見鐘情。有人對(duì)我說,你需要深度剖析JavaScript,否則你無權(quán)評(píng)論它的優(yōu)缺點(diǎn)。坦誠的說,我算不上一位JavaScript Ninja,但我堅(jiān)信一種語言應(yīng)該簡單易學(xué),容易理解,語言結(jié)構(gòu)方面盡量合理。

一直以來,我都在實(shí)踐中解決JavaScript的不足之處,我也承認(rèn)JavaScript有很多不錯(cuò)的功能。但我不得不說,每天與它工作時(shí)我得非常非常小心。這一點(diǎn)很是糟糕,編程語言應(yīng)該得到程序員的友好支持,而非相反。

下面是JavaScript的不足之處,這也是迫使我轉(zhuǎn)投Dart的原因。

1. Dart uses only one falsify (Dart只使用一種否定條件)

看到這個(gè)標(biāo)題,會(huì)容易想到false, null, undefined, “”, 0, NaN 作為否定條件,你可以這樣寫:

var a = null;
if(!a) {
// do
}

在Dart只有的false,可以寫成這樣:

var a = null;
if(a != null) {
// do
}

雖然可以使用情形6中的否定條件,前提是你要好好了解它們。

2. Dart can work with types, If you want it(只要你想,Dart可以使用類型)

JavaScript開發(fā)者常說types(類型)會(huì)抹殺了靈活性,或許這是真的,但是太多的靈活性會(huì)毀掉你的軟件。另一方面,Dart可以很好的用types編程。

3. You need a framework to work proper with DOM (你需要一個(gè)框架來解析DOM)

在JavaScript中,你可以這樣寫:

getElementsById()
getElementsByTagName()
getElementsByName()
getElementsByClassName()
querySelector()
querySelectorAll()
document.links
document.images
document.forms
document.scripts
formElement.elements
selectElement.options

這樣不是很好嗎?使用jQuery來幫助我們。也并不是非要從選擇框架來解析DOM。

但Dart有了jQuery,只需以下2點(diǎn):

elem.query('#foo');

elem.queryAll('.foo');

4. Classes and Interfaces (類和接口)

當(dāng)Java開發(fā)人員使用JavaScript時(shí),他們經(jīng)常嘗試著去編寫代碼,就像編寫Java代碼一樣。有構(gòu)造函數(shù)和類等元素。當(dāng)然,這不是JavaScript的編程方式。它是基于以一切項(xiàng)目為標(biāo)準(zhǔn)。

5. Inheritance(繼承)

Rauschmayer 博士發(fā)表過一篇優(yōu)秀的博文,他在博客中解釋了為什么JavaScript inheritance很簡單。但值得注意的是:他的建議不是JavaScript inheritance的途徑。Frameworks Prototype和jQuery創(chuàng)建了“擴(kuò)展”方法。Rauschmayer博士使用__proto__,你可以使用prototype keyword ,當(dāng)然,你也可以實(shí)現(xiàn)自己的擴(kuò)展機(jī)制,簡單復(fù)制每個(gè)屬性。用Google搜索“javascript object extends”彈出的所有結(jié)果,有各種各樣的方法,只為實(shí)現(xiàn)一個(gè)目標(biāo):擴(kuò)展。

Dart里有classes概念和“extends”關(guān)鍵詞,非常簡單。

6. Global namespace (全域名空間)

在 JavaScript中你需要注意,不要攪亂全域名空間,老實(shí)說,這個(gè)很容易。如果錯(cuò)過了“this”或“var”變量,導(dǎo)致每個(gè)腳本都能訪問它,這是非常可怕的,盡量別搞亂這些。這里要感謝Stoyan Stefanovs Book JavaScript Patterns使我認(rèn)識(shí)到保持域名空間清潔的重要性。現(xiàn)在我感覺好多了,同時(shí)也易于控制。

在Dart里擴(kuò)展了“library”范圍,意味著你有一個(gè)關(guān)鍵的“library”僅對(duì)外開放的部分。此外,每一個(gè)Dart腳本能獨(dú)立執(zhí)行,有一個(gè)活動(dòng)區(qū)域。使用Dart你還應(yīng)該思考 visibility和libraries,這將成為你學(xué)會(huì)Dart的一種簡易方式,,而不需要從其他書籍中獲知。

7. Dart knows concurrency (Dart支持并行)

使用JavaScript不是真的并行,即使是但也需要你做出一個(gè)“jQuery異步需求”,你依然在“thread”中運(yùn)行,你可以從V8中獲得更多,你也可以通過HTML5和webworkers來解決。

Dart支持Isolates,這有點(diǎn)像Erlang,它們之間可以相互溝通,如果其中一個(gè)失敗了,另一個(gè)Isolate可以再次啟動(dòng)。當(dāng)然這使Dart成為一個(gè)非常不錯(cuò)的服務(wù)端編程。

8. JavaScript doesn’t know foreach (JavaScript不支持foreach)

你可以擴(kuò)展Object或者Array.prototype,或者也可以采用以下數(shù)組:

for (var i = 0; i < elements.length; i++) {
// do something
}

你還可以設(shè)置objects:

for (key in elements) {
alert(elements[key]);
}

而不幸的是Douglas Crockford(在JavaScript界一位很了不起的人物),不建議使用此語句。原因:你的結(jié)果不是排序的,我可能會(huì)從prototype chain或者function names命名。當(dāng)然你也可以過濾hasOwnProperty。最后,你應(yīng)該看下框架文件,如果他們提供了相應(yīng)內(nèi)容。

而在Dart中:

for (element in elements) {
// do something
}

就是這么簡單!

9. Weirdness intializing arrays(數(shù)組初始化)

看看這個(gè)代碼:

var a1 = new Array(1,2,3,4,5);
var a2 = new Array(5);

a1有5個(gè)元素的數(shù)組:[1,2,3,4,5]

a2具有5個(gè)元素的數(shù)組:[undefined,undefined,undefined,undefined,undefined]

而Dart就更加簡潔:

List a1 = [1,2,3,4,5];

List a2 = new List(5);

同樣的,a1包含5個(gè)不同的元素?cái)?shù)組,a2包含5個(gè)元素?cái)?shù)組。此外,你還可以獲得一個(gè)不錯(cuò)的功能“removeRange”可支持排序。

10. undefined和null

當(dāng)使用JavaScript時(shí)你需要學(xué)習(xí)很多,該類型值:undefined。它可被重寫。你可以通過各種方案獲得,例如:假如你調(diào)用返回,但不返回任何數(shù)值,在鏈接的頁面上,你可以看到如何處理一個(gè)可能被覆蓋未定義的值。Null可以通過undefined在多種方案下調(diào)用。

而Dart只需要一個(gè)null。

結(jié)束語:

當(dāng)然,JavaScript也有很多好的部分,比如一些不錯(cuò)的模式,但目前來說,使用Dart也能實(shí)現(xiàn)這些功能。我認(rèn)為Dart更優(yōu)雅,更容易閱讀。或許,JavaScript的一些鐵桿開發(fā)者不這么認(rèn)為,沒關(guān)系,只要喜歡你可以繼續(xù)使用JavaScript。但我想,Dart或許會(huì)在另一面成為主流。

更多有關(guān)成都網(wǎng)站建設(shè)資訊:12個(gè)免費(fèi)用戶界面網(wǎng)站建設(shè)原型的 PSD 設(shè)計(jì)稿  返回公司新聞

分享名稱:為什么Dart比JavaScript更酷
當(dāng)前網(wǎng)址:http://www.js-pz168.com/news16/180166.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站策劃全網(wǎng)營銷推廣域名注冊(cè)商城網(wǎng)站面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
三级影片在线观看欧美日韩一区二区| caoporen国产精品视频| 91丝袜呻吟高潮美腿白嫩在线观看| 精品不卡在线| 欧美性色黄大片手机版| 国产欧美综合在线观看第十页| 亚洲成人免费在线| 白白色亚洲国产精品| 日韩高清国产精品| 日韩欧美国产麻豆| 一区二区三区中文字幕电影| 国产成人午夜电影网| 久久精品中文字幕一区二区三区| 欧美日韩一区 二区 三区 久久精品| 国产情人综合久久777777| 日韩高清一区在线| 97人人模人人爽人人喊38tv| 色婷婷综合视频在线观看| 久久久精品免费网站| 日韩成人伦理电影在线观看| 999日本视频| 欧美综合视频在线观看| 国产精品美女一区二区三区| 精品一区免费av| 九色一区二区| 日韩一级精品视频在线观看| 亚洲小少妇裸体bbw| 成人av午夜电影| 色综合久久久久综合体| 国产情人综合久久777777| 久久99在线观看| 久久伊人一区二区| 欧美大尺度电影在线| 日日嗨av一区二区三区四区| 国产伦精品一区二区三区照片91| 欧美日本一区二区| 一区二区三区日韩精品视频| eeuss鲁一区二区三区| 色婷婷av一区二区三区大白胸| 欧美激情资源网| 国产精品亚洲成人| 亚洲欧美国产一区二区| 国产精品情趣视频| 国产成人福利片| 一区二区视频在线播放| 国产精品久久久久久久久晋中| 国产精品一区二区你懂的| 亚洲精品欧美精品| 中日韩免费视频中文字幕| 国产成人自拍网| 一区二区在线不卡| 亚洲日穴在线视频| 97精品久久久午夜一区二区三区 | 最新国产成人在线观看| 国产91丝袜在线18| 日本久久精品电影| 亚洲激情综合网| 国产98在线|日韩| 日韩一区二区三区三四区视频在线观看| 午夜国产不卡在线观看视频| 黄色99视频| 久久综合九色综合97婷婷女人| 久久草av在线| 亚洲精品8mav| 亚洲欧美日韩一区二区三区在线观看| 99久久精品国产毛片| 911精品产国品一二三产区| 天天综合网天天综合色| 品久久久久久久久久96高清| 中文幕一区二区三区久久蜜桃| 成人99免费视频| 51久久夜色精品国产麻豆| 日本少妇一区二区| 亚洲精品成人久久久998| 亚洲图片你懂的| 国产69精品久久久久9999apgf| 精品精品欲导航| 国产成人在线看| 欧美日韩国产小视频| 人人精品人人爱| 亚洲人久久久| 亚洲在线视频一区| 欧美激情第一页在线观看| 欧美国产在线观看| 91麻豆国产香蕉久久精品| 日韩精品在线一区| 高清不卡一二三区| 欧美高清性hdvideosex| 精品一区二区国语对白| 日本精品视频一区二区| 肉丝袜脚交视频一区二区| 色噜噜狠狠色综合网| 一区二区三区不卡在线观看| 噜噜噜噜噜久久久久久91| 日韩毛片精品高清免费| 国产一区二区三区四区五区加勒比 | 国产伦精品一区二区三区在线| 久久久91精品国产一区二区三区| 99视频有精品| 久久综合久久综合久久| 99v久久综合狠狠综合久久| 精品成人一区二区| 91蜜桃在线免费视频| 久久综合狠狠综合| 3d蒂法精品啪啪一区二区免费| 精品成人一区二区三区四区| av毛片久久久久**hd| 久久久久国产精品麻豆ai换脸 | 精品国产自在久精品国产| 懂色av一区二区三区免费看| 欧美岛国在线观看| 99在线精品视频| 国产午夜久久久久| 国产美女在线精品免费观看| 中文字幕人成不卡一区| 欧美日韩国产不卡在线看| 亚洲第一二三四区| 色av一区二区| 国产在线看一区| 日韩欧美一区二区不卡| 99国产精品久久久久| 中文字幕成人在线观看| 免费在线成人av| 亚洲国产一区二区三区青草影视| 色综合久久中文综合久久牛| 久久99热99| 欧美一区二区三区四区五区| av一区二区三区在线| 欧美国产在线观看| 欧美色图亚洲自拍| 三级欧美在线一区| 欧美剧在线免费观看网站 | 精品国产免费一区二区三区 | 日韩一区免费观看| 日本欧美一区二区三区| 欧美喷潮久久久xxxxx| 成人a免费在线看| 国产精品人妖ts系列视频| 欧美亚洲另类久久综合| 日韩精品欧美精品| 91麻豆精品久久久久蜜臀| 91视频在线观看免费| 亚洲人一二三区| 色综合天天做天天爱| 国产精品资源站在线| 国产亚洲一区二区三区在线观看| 蜜桃传媒视频第一区入口在线看| 天天综合天天综合色| 欧美一区二区三区成人| 国产精品99久久久久久久| 亚洲综合在线观看视频| 欧美午夜电影一区| 99精品热视频| 一区二区三区在线不卡| 欧美日韩亚洲综合一区| 91久久精品国产91久久性色tv| 一区二区三区四区不卡视频| 欧美亚洲高清一区| 99国产精品一区| 亚洲精品乱码久久久久久黑人| 在线精品视频免费观看| 95精品视频在线| 一区二区三区不卡视频在线观看| 欧美日韩一区二区不卡| 成人看片在线| 日韩精品一二三区| 亚洲精品在线免费观看视频| 青青草成人激情在线| 国产呦萝稀缺另类资源| 中文字幕免费不卡| 中文字幕一区二区三区5566| 成人av网址在线| 亚洲一区二区偷拍精品| 日韩午夜在线播放| 免费亚洲精品视频| 国产乱理伦片在线观看夜一区| 国产精品麻豆久久久| 欧美在线一二三| aa成人免费视频| 日产国产高清一区二区三区| 久久亚洲一级片| 亚洲综合首页| 91同城在线观看| 日韩高清电影一区| 国产网站一区二区三区| 91久久线看在观草草青青| 91中文字精品一区二区| 日本不卡视频在线| 欧美激情综合五月色丁香| 欧美在线制服丝袜| 国产精品一区二区三区免费观看| 捆绑调教美女网站视频一区| 国产三级一区二区| 欧美在线观看视频一区二区| 国产成人女人毛片视频在线| 久久电影国产免费久久电影| 综合激情成人伊人| 日韩欧美国产三级电影视频| 亚洲一区bb| 动漫3d精品一区二区三区 |