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

關於 Javascript 中級的一切

Linda Hamilton
Linda Hamilton原創
2024-11-29 07:41:13195瀏覽

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