JavaScript一種直譯式腳本語言,是一種動態類型、弱型別、基於原型的語言,內建支援類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個應用)網頁上使用,用來為HTML網頁增加動態功能。
《JavaScript 基礎加強視訊教學》內容重點說明JavaScript基礎知識,涉及程式設計的基本語法,主要包含了變數、資料型別、型別轉換、流程控制語句、陣列、簡單型別和複雜型別的區別、對象的介紹,透過案例鞏固基本語法。本套影片將帶你進入奇妙的JavaScript的世界。
影片播放位址:http://www.php.cn/course/543.html
本影片困難是數組循環,對邏輯能力有所考察。以下總結下各種循環實例:
我們如何遍歷數組中的元素? 20年前JavaScript剛萌生時,你可能這樣實作陣列遍歷:
var arr=["one","two","three"];2 for(var i=0;i<arr.length;i++){3 document.write(arr[i]);4 }
自ES5正式發布後,你可以使用內建的forEach方法來遍歷陣列:
myArray.forEach(function (value) { console.log(value);});实际上forEach有三个参数 分别为 值 下标 数组本身 于是我们有[].forEach(function(value, index, array) { // ...}); 对比jQuery中的$.each方法: $.each([], function(index, value, array) { // ...});
會發現,第1個和第2個參數剛好是相反的,大家要注意了,不要記錯了。後面類似的方法,例如$.map也是如此。
$.each(Array, function(i, value) { Array //数组 this; //this指向当前元素 i; //i表示Array当前下标 value; //value表示Array当前元素}); var arr = [ "one", "two", "three", "four"]; $.each(arr, function(){ alert(this); }); //上面这个each输出的结果分别为:one,two,three,four var obj = { one:1, two:2, three:3, four:4}; $.each(obj, function(key, val) { alert(obj[key]); }); //这个each就有更厉害了,能循环每一个属性 //输出结果为:1 2 3 4
例如:
arr.forEach(function(i,j,v){ document.write("<br />数组的值"+i+ "<br />数组的下标"+j+","+ "<br />数组本身"+v+"---") })
這段程式碼看起來更簡潔,但這個方法也有一個小缺陷:
forEach不夠靈活
arr.forEach不好用 你不能使用break語句中斷循環,也不能使用return語句回到外層函數。
當然,如果只用for迴圈的語法來遍歷陣列元素也很不錯。
那麼,你一定想嘗試for-in迴圈:
for (var index in myArray) { // 千万别这样做 console.log(myArray[index]); }
在這段程式碼中,賦給index的值不是實際的數字,而是字串「0」、「 1”、“2”,此時很可能在無意之間進行字串算數計算,例如:“2” + 1 == “21”,這給編碼過程帶來極大的不便。
簡而言之,
for-in是為普通物件設計的,你可以遍歷得到字串類型的鍵,因此不適用於數組遍歷。
for...in 不適合用來遍歷陣列
for…in會遍歷到自訂屬性甚至原型屬性、index是字串而不是數值、某些情況下甚至不依序遍歷
強大的for-of迴圈
ES6不會破壞你已經寫好的JS程式碼。目前看來,成千上萬的Web網站依賴for-in循環,其中一些網站甚至將其用於數組遍歷。如果想透過修正for-in循環增加數組遍歷支援會讓這一切變得更加混亂,因此,標準委員會在ES6中增加了一種新的循環語法來解決目前的問題。
我們需要更方便的遍歷陣列的方法,就像用 for...in 遍歷物件一樣簡單易用的方法,那就是 for...of
就像這樣:
for (var value of myArray) { console.log(value); }
是的,與之前的內建方法相比,這種循環方式看起來是否有些眼熟?那好,我們將要探究for-of循環的外表下隱藏著哪些強大的功能。現在,只需記住:
這是最簡潔、最直接的遍歷數組元素的語法
這個方法避開了for-in循環的所有缺陷
#與forEach()不同的是,它可以正確回應break、continue和return語句
for-in迴圈用來遍歷物件屬性。
for-of迴圈用來遍歷資料—例如陣列中的值。
但是,不只如此!
for-of循環也可以遍歷其它的集合
for-of循環不僅支援數組,還支援大多數類別數組對象,例如DOM NodeList對象。
for-of循環也支援字串遍歷,它將字串視為一系列的Unicode字元來進行遍歷:
for (var value of myArray) { console.log(value); }
它同樣支援Map和Set物件遍歷。
$.map(array,function)
語法分析:對陣列array中的每個元素,呼叫function函數進行處理,然後將結果返回,得到一個新的數組。
實例講解:將陣列中的每一個元素*2,傳回一個新的陣列。程式碼如下
<html> <head> <script type="text/javascript" src="jquery-1.8.2.min.js"></script> <script type="text/javascript"> var arr = [2,3,6]; var arr2 = $.map(arr,function(item){return item*2;}); for(var i=0,len=arr2.length;i<len;i++){ document.write(arr2[i]+"<br />");//结果为 4 6 12 } </script> </head> </html>
補充說明:item代表每一個元素,這是形參,可用其它代替。
本影片主講老師形像生動,課堂氣氛是相當活躍,能夠充分調動學生在課堂上的學習動機。講課注重細節,對細小知識點講解細緻,不會疏漏任何知識點。
課件原始碼:http://www.php.cn/xiazai/code/1812
以上是JavaScript 基礎加強影片教學及原始碼推薦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Atom編輯器mac版下載
最受歡迎的的開源編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)