首頁 web前端 js教程 關於 Javascript 中級的一切

關於 Javascript 中級的一切

Nov 29, 2024 am 07:41 AM

All About Javascript For Intermediate

什麼是 javascript:
javascript 是一種開源程式語言。這有助於建立動態網頁。它也是瀏覽器語言。
它可以在客戶端(在瀏覽器中)和伺服器端(使用 Node.js 等環境)上運行。
JavaScript 支援事件驅動、非阻塞和非同步編程,這對於同時處理多個任務至關重要。

變數:
變數是儲存資料的容器
變數類型

  • var
  • 常數

運算子
Javascript 運算子用於執行不同類型的數學和邏輯計算。
運算符的類型

  • 算術 = ,-,/,%,*
  • 比較
  • 邏輯

資料型別
定義變數的型別

原始資料型別=以值儲存值

  • 字串
  • 數字
  • Bigint
  • 布林值
  • 未定義 = 我們宣告變數,值未定義。資料型態未定義
  • Null = 這是一個賦值,我們明確地將該值設為 null。資料型別是物件
  • 符號

非預設資料型別 = 透過引用(位址)儲存值

  • Object = 內建物件類型可以是:物件、陣​​列、日期、映射、集合、intarrays、floatarrays、promise
  • 範例:
  • null == undefined 為 true,但 null === undefined 為 false。

JavaScript 中的匯出和預設匯出之間的主要差異?
是導出預設值用於從模組導出單一值,
而帶有命名導出的導出用於導出多個值

原始資料型別和非原始資料型別之間的主要差異?

  • 基本類型是預先定義的,而非基本類型是由程式設計師建立的。
  • 原始和非原始資料結構,讓您僅儲存單一資料類型值和儲存多個資料類型值。 原始資料類型直接儲存在記憶體中,而非原始資料類型則作為對其值的引用儲存在記憶體中。
  • 原始資料型別以值傳遞,非原始資料型別依參考傳遞。
  • 原始資料型別是不可變的,這表示它們的值一旦分配就不能改變。非原始資料類型是可變的並且可以修改。
  • 數字、字串和布林值是原始資料類型的範例,而物件、陣列和函數是非原始資料類型的範例。

函數:
JavaScript 函數是設計用於執行特定任務的程式碼區塊。

javascript 是靜態型別語言還是動態型別語言?
JavaScript 是一種動態型別語言。在動態型別語言中,
與靜態類型語言相比,在執行時間檢查變數的類型,
在編譯時檢查變數的類型。

解釋按值傳遞和按引用傳遞?
在 JavaScript 中,原始資料類型透過值傳遞,非原始資料類型透過引用傳遞。
原始資料型別 = 字串、數字、布林值、null、未定義
非原始資料型別 = 物件、陣列

javascript中的嚴格模式是什麼意思以及javascript嚴格模式的特徵?
允許您在嚴格的運行環境中編寫程式碼或函數。
結果,調試變得更加簡單。

JavaScript 中的工廠函數是什麼?
如果我們有複雜的邏輯,並且我們必須一次又一次地創建多個具有相同邏輯的對象,
我們可以在函數中編寫一次邏輯,然後使用函數作為工廠來建立我們的物件。
就和現實世界的工廠生產產品一樣。
工廠函數是傳回物件的函數。

高階函數:
函數接受其他函數作為參數或傳回該函數。
map、filter和reduce函數都是HOF的例子。
高階函數對於事件處理、資料轉換(例如映射和過濾器)以及建立函數工廠或裝飾器等任務非常有用。

關閉:
當一個函數在另一個函數中定義時,就會建立閉包,
並且內部函數保留對外部函數作用域中的變數和方法的存取
閉包提供了一種將資料封裝在函數中的方法,允許對資料進行受控訪問,同時保持資料對外部範圍隱藏。

回調:
用作另一個函數的參數的函數稱為回調函數。
回調是一個函數,它將在另一個函數執行後執行。
當我們想要執行非同步操作時回調函數的用例。

map() 與 forEach()
地圖()=>迭代數組的每個元素並對每個元素應用轉換函數。
不修改原始數組;它使用轉換後的元素建立一個新數組。
forEach()=>迭代數組的每個元素並為每個元素執行提供的回調函數。
不建立新數組或修改現有數組;它只執行回調函數。

map()、filter()、reduce()
map()它將傳回新數組
filter() 與map() 類似,它也傳回新數組,但如果條件為真。當我們想要應用條件時使用。
reduce() 它將從數組傳回單一值。

此關鍵字:
this 關鍵字的值始終取決於呼叫該函數的物件。

柯里化:
將具有 n 個參數的函數轉換為 n 個函數。
啟用部分應用程式的用例(當您有一個接受多個參數的函數,但您只想修復其中一些參數,同時保留其他參數以供以後使用時),
程式碼的重用。
例如

function add (a) {
  return function(b){
    return a + b;
  }
}
add(3)(4)
登入後複製
登入後複製

普通函數與箭頭函數?
正常功能:
this 指的是呼叫該函數的物件
可以用作建構子
函數宣告被提升(允許託管)
箭頭函數:
沒有自己的這個
不能用作建構子
函數宣告不被提升(不允許託管) // myfunc 不是函數

正常和三元條件?
三元條件儲存沒有此上下文的引用。

javascript的exec()和test()方法有什麼差別?
test() 和 exec() 是 javascript 中使用的正規表示式方法。

使用外部 JavaScript 的一些優點?
我們可以重複使用該程式碼。
外部 javascript 程式碼可讀性簡單(程式碼模組化)

原型:
JavaScript 原型屬性還允許您為物件建構函式新增屬性和方法。
用於測試的用例

記憶:
記憶化是一種快取形式,其中函數的返回值根據其參數進行緩存。
如果函數的參數未更改,則傳回該函數的快取版本。

DOM:
DOM 代表文檔物件模型。 DOM 是 HTML 的程式設計介面。
當瀏覽器嘗試渲染 HTML 文件時,它會建立一個 DOM
使用這個 DOM,我們可以操作或更改 HTML 文件中的各種元素。

物料清單:
瀏覽器物件模型稱為 BOM。它允許用戶與瀏覽器互動。
瀏覽器的初始物件是視窗。

承諾:
Promise 用於處理 JavaScript 中的非同步操作。在 Promise 之前,回調用於處理非同步操作。
Promise 物件有四種狀態 -
待定 - 承諾的初始狀態。
Fulfilled-這個狀態代表承諾已經兌現了,。
Rejected- 此狀態代表 Promise 已被拒絕。
已解決 - 此狀態表示承諾已被拒絕或已履行。

非同步/等待:
它建立在 Promise 之上,它提供了更簡潔的方式來編寫非同步程式碼,使其更易於閱讀和編寫。
async 關鍵字用於聲明同步函數,await 用於等待 Promise 解決。

表現與結構
=>express 是回傳一些值
例如

function add (a) {
  return function(b){
    return a + b;
  }
}
add(3)(4)
登入後複製
登入後複製

5 和 myfun() 傳回一些值是一個表達式
指令和指令操作的語句,但不傳回值
例如 if,else, while 這些都是語句
while(i

剩餘參數與展開運算子:
剩餘參數它將單獨的元素組合成一個陣列
擴充運算子用於將陣列分成單一元素

生成器函數?
可以中途停下來,然後從停下的地方繼續。
生成器物件包含一個名為 next() 的方法,該方法被呼叫時,會執行程式碼直到最近的yield 語句,並傳回yield 值。

呼叫()、應用()和綁定():
所有這些都是用來給這個關鍵字分配物件(給這個關鍵字賦值)
當我們想要使用所需物件操作函數的 this 關鍵字時的用例
bind() 方法 建立一個新函數,在呼叫時,將其 this 關鍵字設定為提供的值(例如物件)。它創建一個新物件。
call() 和 apply() 有完全相同的目的。 call() 方法不會複製正在呼叫的函數。
它們工作方式之間的唯一區別是 call() 期望所有參數單獨傳入,
而 apply() 需要一個包含所有參數的陣列。

IIFE:
立即呼叫函數,該函數一旦定義就運行。
例如

const x=5;
const y=myfun();
登入後複製

純函數:
對於相同的輸入產生相同的輸出。當表達式的運算元具有不同資料類型時,就會發生這種情況。
不修改外部狀態或變數的函數

javascript 是靜態型別語言還是動態型別語言?
在動態類型語言中,與靜態類型語言相反,在執行時間檢查變數的類型,
在編譯時檢查變數的類型。
例如
靜態型別

(function(){ 
  // Do something;
})();
登入後複製

動態型別

string name="salman"; 
// varaible has types
登入後複製

酷爾幣:
將值從一種資料類型自動轉換為另一種資料類型。
字串強制轉換
將數字轉換為字串
- 將字串轉換為數字

NaN():
isNaN() 函數將給定值轉換為 Number 類型,然後等於 NaN。

ASP 腳本與 javascript ?
ASP 腳本運行在伺服器上,而 JavaScript 運行在客戶端瀏覽器上。
ASP 腳本是一種伺服器端語言,用於處理複雜的任務,例如資料庫查詢、表單提交和使用者驗證。
而 JavaScript 是一種客戶端語言,用於在網頁上建立互動元素,例如動畫、彈出視窗和表單驗證。

未定義值:
值未定義,但存在變數
物件中缺少屬性

eslint:
它有助於調試和修復 javascript 程式碼中的常見漏洞

想了解更多關於我的信息,只需在搜尋引擎上寫sallbro...

以上是關於 Javascript 中級的一切的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1668
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
JavaScript引擎:比較實施 JavaScript引擎:比較實施 Apr 13, 2025 am 12:05 AM

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

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

從C/C到JavaScript:所有工作方式 從C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

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

JavaScript和Web:核心功能和用例 JavaScript和Web:核心功能和用例 Apr 18, 2025 am 12:19 AM

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

JavaScript在行動中:現實世界中的示例和項目 JavaScript在行動中:現實世界中的示例和項目 Apr 19, 2025 am 12:13 AM

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

了解JavaScript引擎:實施詳細信息 了解JavaScript引擎:實施詳細信息 Apr 17, 2025 am 12:05 AM

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python vs. JavaScript:社區,圖書館和資源 Python vs. JavaScript:社區,圖書館和資源 Apr 15, 2025 am 12:16 AM

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

Python vs. JavaScript:開發環境和工具 Python vs. JavaScript:開發環境和工具 Apr 26, 2025 am 12:09 AM

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

See all articles