成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

不知道這十個術語,你還敢說會JavaScript?

開發 前端
從Curry到Closes,有很多JavaScript行話(該領域中使用的特殊詞匯)知道這些行話不僅能幫助你增加詞匯量,還能更好地理解JavaScript。

每個行業,都有業內“行話”,不了解這些行話的人,很難融入到行業中,也永遠裝不了。

從Curry到Closes,有很多JavaScript行話(該領域中使用的特殊詞匯)知道這些行話不僅能幫助你增加詞匯量,還能更好地理解JavaScript。

術語通常出現在文檔和技術文章中。但是其中一些像Closes一樣是非常標準的事情。了解這個詞本身的含義可以幫助您更好地了解它所命名的概念。

今天我們來聊聊 10 個JavaScript術語及其含義和在 JavaScript中使用的上下文的匯編。如果您是初學者,那么此列表為您提供了諸如吊裝之類的基礎知識。同時,其中還包括鮮為人知或鮮為人知的術語。

1. Arity

Arity(來自拉丁語)是用于指代函數或操作中的參數或操作數數量的術語。當它用于提及JavaScript 函數期望的參數數量時,您最有可能在 JavaScript 領域遇到這個詞。

該對象甚至還有一個名為arity的屬性,Function返回函數中預期參數的數量。但已經過時,現在是length替代了它返回參數的數量

以下函數有三個輸入參數。

function getName(first, middle, last){
return first+' '+ middle +' '+last;
}

2. Anonymous

Anonymous是形容詞。當某物或某人被稱為Anonymous時,這意味著該物或人的名字是未知的。同樣,在 JavaScript 中,Anonymous函數是沒有名稱標識的函數。

(function (){
//body
})();

上面是一個IIFE(立即調用函數表達式)。其中的函數沒有名稱。我們也看看下面這個:

var foo = function() {

};

這也被稱為Anonymous函數,因為關鍵字后面沒有名字function。

在這里,對“Anonymous”的使用我產生了一點疑問,使用 IIFE,該函數被立即調用,不涉及名稱,而調用后面函數foo()則需要使用語法。

就像我們用名稱'foo'命名了一個無名函數并使用它來調用它。這算Anonymous函數嗎?我不知道,這個得問問javascript之父了。拋開我的困惑不談,它們確實都被稱為Anonymous函數。

3. Closure

這是牛津詞典中關于關閉的定義之一:“關閉或密封某物的東西,例如帽子或領帶。”

在 JavaScript 中,closure是一個內部函數,可以在外部函數范圍之外訪問,它與外部函數變量的連接仍然完好無損。

為了解釋closure(也許不夠準確,但足夠簡單),我們可以將closure視為餐廳的服務員。我們去餐廳吃飯時,飯菜都是廚師做的,廚師大部分時間都在餐廳廚房,餐廳廚房是禁止我們進入的。我們應該如何獲得我們的食物呢?

那就是服務員幫忙了。我們點菜,然后服務員會去廚房,將訂單通知廚師,并在訂單準備好時將飯菜帶給我們。這樣我們就沒有違反任何“規則”,我們就可以享受美食了。

服務員是能夠將我們的訂單帶入廚房并帶著食物返回的員工。closure就是類似的“員工”,它們能夠從函數內部獲取我們的參數并帶回我們的變量(準確地說是對這些變量的引用)。

function order() {
var food;
function waiter(order) {
chef(order);
return food;
}
function chef(order) {
if (order === 'pasta') {
food = ['pasta', 'gravy', 'seasoning'];
cook();
}
}
function cook() { food.push('cooked'); }
return waiter;
}
var myOrder = order();
console.log(myOrder('pasta'));
// Array [ "pasta", "gravy", "seasoning", "cooked" ]

正如您從上面的代碼中看到的那樣,除了waiterorder 函數內部的所有內容及其返回值之外的所有內容都不會暴露給外界。

4. Currying

這種效果以Haskell Curry的名字命名,指的是使用具有單參數的多個函數來代替具有多個參數的單個函數。例如,讓我們看看下面的add函數。

function addx(x){
function addy(y){
return x+y;
}
return addy
}

function add(x,y){
return(x+y);
}

console.log(addx(3)(4)); \\7
console.log(add(3,4)); \\7

這兩個函數都是返回相同的結果。該函數在返回時addx接受一個參數,該參數又接受該值,執行加法并返回總和。x``addy``y``x 

該函數add簡單地同時接受兩者x,y執行加法并返回總和。到目前為止,第一個功能可能看起來不是很有用,直到……

var add4 = addx(4);
console.log(add4(8)); //12
console.log(add4(6)); //10
console.log(add4(-74)); //-70

現在,前一個函數突然變得有趣起來。在currying中,您總是可以修復一系列操作中的一個步驟,比如從上述代碼中添加4,這在操作中使用的一個變量始終相同時很有用。

5. Hoisting

Hoist的意思是舉起東西。JavaScript 中的Hoist也意味著相同,提出的是聲明(變量和函數聲明)。

聲明是使用關鍵字var(不適用于全局)和function

無論您在哪個地方輸入代碼來聲明函數或變量,在評估期間,所有聲明都會在它們所在的范圍內向上移動(嚴格模式除外)。因此,可以編寫一個工作代碼,將函數調用代碼放在函數聲明之前。

var name = 'Velma';
console.log(sayCatchPhrase(name)); /"Jinkies!"

function sayCatchPhrase(name) {
phrases = {
'Fred Flintstone': 'Yabba dabba doo!',
'Velma': 'Jinkies!',
'Razor': 'Bingo!',
'He-Man': 'I Have the Power'
};
return phrases[name];
}

6. Mutation

Mutation意味著改變或修改。如果你在 JavaScript 中遇到過Mutation這個詞,它可能指的是 DOM 元素所經歷的變化。

甚至還有一個稱為 MutationObserver 的 API 可以密切關注 DOM 突變,例如添加子元素或更改元素的屬性。

7. Pragma

Pragma是實用信息的縮寫。在簡單的英語中,pragmatic 是一個形容詞,表示明智和實用。在編程中,pragma是指包含有關編譯器或解釋器或匯編器應如何處理程序有用信息的代碼。

它對編程語言本身沒有任何貢獻,其語法可能會有所不同。它們只影響編譯器的行為。JavaScript 也有很少的 pragma,其中之一是strict

"use strict";

通過上述 pragma,JavaScript 代碼將以嚴格的模式執行。在嚴格模式下,不允許錯誤的語法,不進行提升,顯示靜默錯誤等。它有助于編寫更安全和優化的 JavaScript 代碼。

8.Sentinels

Sentinels是守衛的士兵(還記得 X 戰警中的哨兵嗎?)。在編程中,Sentinels是用來指示循環或過程結束的值。它們也可以稱為“flags”。

您可以使用任何合理的值作為sentinel。這是JavaScript 中使用的哨兵的示例;indexOf當在目標字符串中找不到搜索值時返回 -1(標記值)的方法。下面是一個返回數組值位置的函數,如果找不到值,則返回 -1。

function getPos(ary, val) {
var i=0, len=ary.length;
for(;i<len;i++){
if(ary[i]===val) return i+1;
}
return -1;
}
console.log(getPos(['r','y','w'],'y')); //2
console.log(getPos(['r','y','w'],'g')); //-1

9.Vanilla

這個單詞是香草味的意思,哈哈哈,有可能外國人喜歡冰激凌吧。不僅在冰淇淋中,而且在幾乎所有甜食中,香草都成為了標準口味。我見過不少蛋糕食譜,他們在混合物中至少加入一滴香草——只是為了增加味道。

這就是香草*,一種傳統的標準風味。*Vanilla JavaScript 指的是標準 JavaScript——沒有框架。Vanilla 實際上不僅用于描述 JavaScript 的標準版本,還用于描述 CSS 等其他語言。

10. Variadic

Variadic是通過連接“variable”和“adicity”而創建的形容詞。“Adicity”來自古希臘語,其含義與拉丁詞“arity”(此列表中的第 1 項)相同。因此,術語Variadic用于表達具有可變數量參數的東西。

在 JavaScript 中,Variadic函數接受任意數量的參數。它可以使用arguments屬性、apply方法以及從 ES6 開始的擴展運算符來創建。下面是使用擴展運算符的示例。

function test(...a){
console.log(a);
}
test('a','b','c',8,[56,-89]);
//output is Array [ "a", "b", "c", 8, Array[2] ]

好了,今天10個JavaScript術語就介紹到這了,大家可以去試試,yyds!

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2025-03-19 09:46:45

2024-09-11 16:21:09

2010-08-23 09:20:11

Linux命令

2019-04-01 06:37:12

R語言數據分析數據

2023-11-02 08:25:25

組件ReactUI

2013-05-23 11:57:42

以太網千兆網絡以太網發展

2022-10-13 11:48:37

Web共享機制操作系統

2021-11-12 10:05:19

跳表BAT面試

2023-07-07 14:47:46

JavaScript技巧

2022-07-04 07:09:55

架構

2023-12-23 11:15:25

2011-08-16 13:15:15

MongoDB

2013-09-10 11:21:25

移動互聯網移動開發移動市場

2025-03-17 00:45:00

JavaScriptAPI頁面

2017-11-07 21:58:25

前端JavaScript調試技巧

2020-11-03 09:51:04

JavaScript開發 技巧

2020-06-12 09:20:33

前端Blob字符串

2020-07-28 08:26:34

WebSocket瀏覽器

2024-05-15 18:59:01

JavaScript語言原型

2019-05-28 14:33:07

Javascript運算符前端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 老头搡老女人毛片视频在线看 | 亚洲欧洲成人 | 国产特级毛片aaaaaa喷潮 | 日韩成人免费视频 | 人人人人人爽 | 在线观看av网站 | 久久久精彩视频 | 国产.com| 欧美一区二区三区在线视频 | 91.色 | 一区二区视频 | 最新av中文字幕 | 午夜视频在线观看一区二区 | 国产小视频在线 | 国产精品a一区二区三区网址 | 国产精品av久久久久久久久久 | 国产在线精品一区二区 | 亚洲一区二区视频在线播放 | 亚洲精选一区 | 日韩精品在线观看免费 | 在线国产一区 | 国产成人精品网站 | 视频一区二区在线观看 | 天天干天天草 | 久久精品综合网 | 精品久久成人 | 国产不卡一区 | 黄网站免费观看 | 亚洲国产成人精品女人久久久 | 久久久久久国产免费视网址 | 人操人免费视频 | 亚洲一区二区三区免费观看 | 黄色一级大片视频 | 青青草av网站 | 特一级毛片| 国产精品入口久久 | 黑人巨大精品欧美一区二区免费 | 精品国产一区二区三区av片 | 久久久123 | 国产91av视频在线观看 | 欧美在线精品一区 |