国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從零開始學(xué)習(xí)JavaScript:輕松掌握編程語言的核心技能④

這篇具有很好參考價值的文章主要介紹了從零開始學(xué)習(xí)JavaScript:輕松掌握編程語言的核心技能④。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??????個人簡介:以山河作禮。
??????:Python領(lǐng)域新星創(chuàng)作者,CSDN實力新星認證,阿里云社區(qū)專家博主
????:Web全棧開發(fā)專欄:《Web全棧開發(fā)》免費專欄,歡迎閱讀!



從零開始學(xué)習(xí)JavaScript:輕松掌握編程語言的核心技能④

1. JavaScript 表單

1.1 JavaScript 表單驗證

??JavaScript 可用來在數(shù)據(jù)被送往服務(wù)器前對 HTML 表單中的這些輸入數(shù)據(jù)進行驗證。

表單數(shù)據(jù)經(jīng)常需要使用 JavaScript 來驗證其正確性:

  • 驗證表單數(shù)據(jù)是否為空?
  • 驗證輸入是否是一個正確的email地址?
  • 驗證日期是否輸入正確?
  • 驗證表單輸入內(nèi)容是否為數(shù)字型?

??以下是一個簡單的示例,演示如何驗證表單中的文本輸入字段:

<form>
  <label for="name">姓名:</label>
  <input type="text" id="name" name="name"><br><br>
  <label for="email">電子郵件地址:</label>
  <input type="email" id="email" name="email"><br><br>
  <label for="password">密碼:</label>
  <input type="password" id="password" name="password"><br><br>
  <input type="submit" value="提交">
</form>

<script>
  const form = document.querySelector('form');
  const nameInput = document.querySelector('#name');
  const emailInput = document.querySelector('#email');
  const passwordInput = document.querySelector('#password');

  form.addEventListener('submit', (event) => {
    // 阻止表單默認提交行為
    event.preventDefault();

    // 檢查姓名輸入是否為空
    if (nameInput.value.trim() === '') {
      alert('請?zhí)顚懶彰?);
      return;
    }

    // 檢查電子郵件地址是否有效
    if (!isValidEmail(emailInput.value)) {
      alert('請輸入有效的電子郵件地址');
      return;
    }

    // 檢查密碼是否至少包含一個數(shù)字和一個字母
    if (!isValidPassword(passwordInput.value)) {
      alert('密碼必須至少包含一個數(shù)字和一個字母');
      return;
    }

    // 如果所有驗證都通過,則提交表單
    form.submit();
  });

  // 檢查電子郵件地址是否有效的函數(shù)
  function isValidEmail(email) {
    const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return emailRegex.test(email);
  }

  // 檢查密碼是否至少包含一個數(shù)字和一個字母的函數(shù)
  function isValidPassword(password) {
    const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;
    return passwordRegex.test(password);
  }
</script>

運行結(jié)果:
從零開始學(xué)習(xí)JavaScript:輕松掌握編程語言的核心技能④

在這個示例中,我們使用 addEventListener 方法為表單的 submit事件添加了一個監(jiān)聽器,當(dāng)用戶點擊提交按鈕時,我們將執(zhí)行一些自定義驗證邏輯。如果驗證成功,我們將調(diào)用 form.submit()方法提交表單。否則,我們將使用 alert方法顯示一個錯誤消息。同時我們使用了兩個正則表達式來驗證電子郵件地址和密碼。正則表達式是一種強大的工具,可以用來匹配和搜索字符串。在這里,我們使用正則表達式來確保用戶輸入的電子郵件地址和密碼符合特定的格式要求。

2. JavaScript 保留關(guān)鍵字

??JavaScript 保留關(guān)鍵字是指被 JavaScript 語言保留用于特定用途的單詞。這些單詞不能用作標(biāo)識符,如變量名、函數(shù)名等。
以下是 JavaScript 中的保留關(guān)鍵字:

await
break
case
catch
class
const
continue
debugger
default
delete
do
else
enum
export
extends
false
finally
for
function
if
implements
import
in
instanceof
interface
let
new
null
package
private
protected
public
return
static
super
switch
this
throw
true
try
typeof
var
void
while
with
yield

在編寫 JavaScript 代碼時,應(yīng)避免使用這些保留關(guān)鍵字作為標(biāo)識符,以免產(chǎn)生語法錯誤。

3. JavaScript this 關(guān)鍵字

?? ?? 在 JavaScript 中,this 關(guān)鍵字用于引用當(dāng)前執(zhí)行上下文中的對象。具體來說,this 引用的是調(diào)用當(dāng)前函數(shù)的對象。
??當(dāng)函數(shù)以對象的方法的形式調(diào)用時,this 引用該對象
例如:

const person = {
  name: 'Alice',
  sayHello() {
    console.log(`Hello, my name is ${this.name}.`);
  }
};

person.sayHello(); // 輸出 "Hello, my name is Alice."

在上面的例子中,sayHello 方法是以 person 對象的方法的形式調(diào)用的,因此在方法內(nèi)部,this 引用 person 對象。

??當(dāng)函數(shù)以普通函數(shù)的形式調(diào)用時,this 引用全局對象(在瀏覽器中是 window 對象,在 Node.js 中是 global 對象)。
例如:

function sayHello() {
  console.log(`Hello, my name is ${this.name}.`);
}

sayHello(); // 輸出 "Hello, my name is undefined."

在上面的例子中,sayHello 函數(shù)是以普通函數(shù)的形式調(diào)用的,因此在函數(shù)內(nèi)部,this 引用全局對象。由于全局對象沒有 name屬性,因此輸出結(jié)果為 undefined。

??可以使用 call、apply 和 bind 方法來顯式地設(shè)置函數(shù)內(nèi)部的 this。
例如:

const person1 = { name: 'Alice' };
const person2 = { name: 'Bob' };

function sayHello() {
  console.log(`Hello, my name is ${this.name}.`);
}

sayHello.call(person1); // 輸出 "Hello, my name is Alice."
sayHello.call(person2); // 輸出 "Hello, my name is Bob."

在上面的例子中,call 方法用于調(diào)用 sayHello 函數(shù),并將 this 設(shè)置為 person1 或 person2對象。因此在函數(shù)內(nèi)部,this 引用相應(yīng)的對象。

4. JavaScript let 和 const

?? ?? let 和 const 是 ES6 中新增的聲明變量的關(guān)鍵字,它們與傳統(tǒng)的 var 關(guān)鍵字有所不同。

4.1 let

??let 關(guān)鍵字用于聲明塊級作用域的變量。塊級作用域是指在代碼塊(如函數(shù)、循環(huán)、條件語句等)內(nèi)部聲明的變量只在該代碼塊內(nèi)部可見,外部無法訪問。
例如:

let x = 1;

if (true) {
  let x = 2;
  console.log(x); // 輸出 2
}
console.log(x); // 輸出 1

在上面的例子中,let x = 2 聲明了一個塊級作用域的變量,只在 if 語句塊內(nèi)部可見。外部的 x 變量仍為 1。

4.2 const

??const 關(guān)鍵字用于聲明塊級作用域的常量。與 let 類似,const 聲明的變量也是塊級作用域的。
與 let 不同的是,const 聲明的變量不能被重新賦值。一旦聲明,其值就不能再改變。

例如:

const x = 1;

if (true) {
  const x = 2;
  console.log(x); // 輸出 2
}
console.log(x); // 輸出 1
// 以下代碼會拋出 TypeError 錯誤
const y = 1;
y = 2;

在上面的例子中,const x = 2 聲明了一個塊級作用域的常量,只在 if 語句塊內(nèi)部可見。外部的 x 常量仍為 1。 嘗試重新賦值常量 y 會拋出 TypeError 錯誤,因為常量不能被重新賦值。

5.JavaScript JSON

?? ?? JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,基于 JavaScript 語法的子集。
??JSON 的語法規(guī)則非常簡單,它由以下三種基本類型組成:

  • 對象(Object)
  • 數(shù)組(Array)
  • 值(Value)

??對象是一組鍵值對,鍵和值之間使用冒號分隔,鍵值對之間使用逗號分隔,對象使用花括號包裹。
例如:

const person = {
  name: 'Alice',
  age: 25,
  address: {
    city: 'Beijing',
    country: 'China'
  }
};

// 將對象轉(zhuǎn)換為 JSON 字符串
const jsonStr = JSON.stringify(person);
console.log(jsonStr); // 輸出 {"name":"Alice","age":25,"address":{"city":"Beijing","country":"China"}}

??數(shù)組是一組有序的值,值之間使用逗號分隔,數(shù)組使用方括號包裹。
例如:

const fruits = ['apple', 'banana', 'orange'];

// 將數(shù)組轉(zhuǎn)換為 JSON 字符串
const jsonStr = JSON.stringify(fruits);
console.log(jsonStr); // 輸出 ["apple","banana","orange"]

??值可以是字符串、數(shù)字、布爾值、null、對象或數(shù)組。
例如:

const data = {
  name: 'Alice',
  age: 25,
  married: false,
  hobbies: ['reading', 'running'],
  address: {
    city: 'Beijing',
    country: 'China'
  },
  job: null
};

// 將值轉(zhuǎn)換為 JSON 字符串
const jsonStr = JSON.stringify(data);
console.log(jsonStr); // 輸出 {"name":"JavaScript 

??在JavaScript中,可以使用JSON對象來解析和生成JSON數(shù)據(jù)。
?? ?? JSON對象提供了兩個方法

  1. JSON.parse()用于解析JSON字符串,將其轉(zhuǎn)換為JavaScript對象;
  2. JSON.stringify()用于將JavaScript對象轉(zhuǎn)換為JSON字符串。

例如,以下是一個JSON字符串的示例:

{
  "name": "John Doe",
  "age": 30,
  "isMarried": true,
  "hobbies": ["reading", "music", "sports"],
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "state": "CA",
    "zip": "12345"
  }
}

??可以使用JSON.parse()方法將其轉(zhuǎn)換為JavaScript對象,
例如:

var jsonString = '{"name":"John Doe","age":30,"isMarried":true,"hobbies":["reading","music","sports"],"address":{"street":"123 Main St","city":"Anytown","state":"CA","zip":"12345"}}';
var jsonObj = JSON.parse(jsonString);

??這樣就可以使用JavaScript對象的方式訪問JSON數(shù)據(jù)了,同樣地可以使用JSON.stringify()方法將JavaScript對象轉(zhuǎn)換為JSON字符串,
例如:

var jsonObj = {
  "name": "John Doe",
  "age": 30,
  "isMarried": true,
  "hobbies": ["reading", "music", "sports"],
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "state": "CA",
    "zip": "12345"
  }
};
var jsonString = JSON.stringify(jsonObj);

6.JavaScript 異步編程

?? ?? JavaScript 是一種單線程語言,這意味著它一次只能執(zhí)行一個任務(wù)。但是,JavaScript 中的異步編程模型允許我們在執(zhí)行長時間運行的任務(wù)時不會阻塞主線程。
??JavaScript 中常用的異步編程模型包括:

  • ·回調(diào)函數(shù):回調(diào)函數(shù)是異步編程中最常用的模型之一。在這種模型中,我們將一個函數(shù)作為參數(shù)傳遞給另一個函數(shù),并在異步操作完成后調(diào)用該函數(shù)。
  • Promise:Promise 是一種更現(xiàn)代的異步編程模型,它提供了一種更優(yōu)雅的方式來處理異步操作。Promise
    對象表示一個異步操作的最終完成或失敗,并且允許我們在異步操作完成后執(zhí)行一些代碼。
  • async/await:async/await 是一種基于 Promise 的異步編程模型。async/await使得異步代碼看起來像同步代碼,這使得代碼更易于理解和維護。

無論使用哪種異步編程模型,都需要小心處理異步代碼中的錯誤和異常。異步代碼中的錯誤可能會導(dǎo)致程序崩潰或無法正常工作。因此,一定要確保正確地處理錯誤和異常。

7.JavaScript 代碼規(guī)范

?? ?? 在 JavaScript 中,代碼規(guī)范是非常重要的。它可以提高代碼的可讀性和可維護性,并減少代碼錯誤和漏洞的風(fēng)險
??以下是一些常見的 JavaScript 代碼規(guī)范:文章來源地址http://www.zghlxwxcb.cn/news/detail-474473.html

  1. 使用駝峰命名法來命名變量、函數(shù)和對象屬性。
  2. 使用 const 或 let 來聲明變量,不要使用 var。
  3. 在代碼塊中使用花括號,即使代碼塊只有一行。
  4. 在函數(shù)名和括號之間留一個空格,例如 function test() { }。
  5. 在操作符周圍留空格,例如 a + b。
  6. 在逗號后留一個空格,例如 var arr = [1, 2, 3]。
  7. 使用分號來結(jié)束語句。
  8. 避免使用全局變量,盡可能使用局部變量。
  9. 使用注釋來解釋代碼的目的和功能。
  10. 盡可能使用模塊化的代碼結(jié)構(gòu),將相關(guān)的代碼組織在一起。

到了這里,關(guān)于從零開始學(xué)習(xí)JavaScript:輕松掌握編程語言的核心技能④的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 從零開始學(xué)習(xí)R語言編程:完全指南

    R語言是一種流行的數(shù)據(jù)分析語言,廣泛應(yīng)用于學(xué)術(shù)界、商業(yè)界和社會科學(xué)研究等領(lǐng)域。與其它數(shù)據(jù)分析軟件相比,R語言的優(yōu)點包括免費開源、高效可靠、具有強大的數(shù)據(jù)分析和可視化能力等。R語言的編程基礎(chǔ)包括了各種控制結(jié)構(gòu)和函數(shù),可以方便地實現(xiàn)算法和數(shù)據(jù)操作。本

    2024年02月10日
    瀏覽(31)
  • [從零開始學(xué)習(xí)FPGA編程-32]:進階篇 - 基本時序電路-D觸發(fā)器(Verilog語言)

    作者主頁(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文網(wǎng)址:? 目錄 第1章 什么是時序電路 1.1 時序電路 1.2 什么是觸發(fā)器

    2023年04月08日
    瀏覽(28)
  • 如何高效的學(xué)習(xí)接口自動化測試?從零開始學(xué)習(xí)接口自動化測試:選擇合適的學(xué)習(xí)資源和編程語言

    如何高效的學(xué)習(xí)接口自動化測試?從零開始學(xué)習(xí)接口自動化測試:選擇合適的學(xué)習(xí)資源和編程語言

    目錄 引言: 一、學(xué)習(xí)前的準(zhǔn)備 二、選擇合適的學(xué)習(xí)資源 三、實踐中學(xué)習(xí) 四、總結(jié) 在日常的軟件開發(fā)過程中,接口自動化測試是一個非常重要的環(huán)節(jié)。接口自動化測試可以幫助我們快速準(zhǔn)確地檢測出軟件中的缺陷,提高軟件的質(zhì)量和穩(wěn)定性。但是,要學(xué)習(xí)接口自動化測試并

    2024年02月06日
    瀏覽(26)
  • 編寫接口文檔示例:從零開始,輕松掌握關(guān)鍵技巧

    編寫接口文檔示例:從零開始,輕松掌握關(guān)鍵技巧

    接口文檔的編寫是軟件開發(fā)中至關(guān)重要的一環(huán),本文將詳細介紹如何編寫接口文檔示例,為您揭示從基礎(chǔ)知識到高級技巧的全過程。通過實用的指導(dǎo)和比喻,讓您輕松掌握編寫接口文檔示例的藝術(shù)。 在現(xiàn)代軟件開發(fā)中,編寫接口文檔示例是確保項目順利推進和團隊合作的重要

    2024年02月12日
    瀏覽(21)
  • AI代碼翻譯神器,用AI翻譯代碼,輕松學(xué)習(xí)不同編程語言,已開源!

    AI代碼翻譯神器,用AI翻譯代碼,輕松學(xué)習(xí)不同編程語言,已開源!

    體驗地址,github地址和部署地址在文章底部 近年來,隨著技術(shù)的快速進步,人工智能技術(shù)展現(xiàn)出了在各個領(lǐng)域發(fā)揮作用的巨大潛力。AI代碼翻譯器作為一項創(chuàng)新技術(shù),為開發(fā)者帶來了全新的可能性。這項技術(shù)運用人工智能,能夠?qū)⒁环N編程語言的代碼翻譯成另一種,便利了跨

    2024年01月21日
    瀏覽(19)
  • 學(xué)習(xí)javascript,前端知識精講,助力你輕松掌握

    學(xué)習(xí)javascript,前端知識精講,助力你輕松掌握

    ?? 歡迎大家來到景天科技苑?? ???? 養(yǎng)成好習(xí)慣,先贊后看哦~???? 所屬專欄: 前端泛海 景天的主頁: 景天科技苑 JavaScript在1995年誕生了; 由Netscape公司,布蘭登·艾奇(Brendan Eich)發(fā)明的ECMAScript客戶端腳本語言; 主要應(yīng)用在瀏覽器,在當(dāng)時卻不溫不火. 直到后來Netscape與S

    2024年03月15日
    瀏覽(29)
  • 從零開始-學(xué)習(xí)網(wǎng)絡(luò)必須掌握的基礎(chǔ)知識

    從零開始-學(xué)習(xí)網(wǎng)絡(luò)必須掌握的基礎(chǔ)知識

    從零開始!學(xué)習(xí)網(wǎng)絡(luò)必須掌握的基礎(chǔ)知識 完整的100個網(wǎng)絡(luò)知識,可留言,會發(fā)送!點擊關(guān)注,可獲得網(wǎng)工大禮包哈

    2024年02月15日
    瀏覽(35)
  • 從零學(xué)習(xí)開發(fā)一個RISC-V操作系統(tǒng)(四)丨RISC-V匯編語言編程

    從零學(xué)習(xí)開發(fā)一個RISC-V操作系統(tǒng)(四)丨RISC-V匯編語言編程

    ?? 本系列是博主參考B站課程學(xué)習(xí)開發(fā)一個RISC-V的操作系統(tǒng)的學(xué)習(xí)筆記,計劃從RISC-V的底層匯編指令學(xué)起,結(jié)合C語言,在Ubuntu 20.04上開發(fā)一個簡易的操作系統(tǒng)。一個目的是通過實踐操作學(xué)習(xí)和了解什么是操作系統(tǒng),第二個目的是為之后學(xué)習(xí)RISC-V的集成電路設(shè)計打下一定基礎(chǔ)

    2024年01月25日
    瀏覽(42)
  • [前端系列第3彈]JS入門教程:從零開始學(xué)習(xí)JavaScript

    本文將帶領(lǐng)大家,從零開始學(xué)習(xí)JavaScript,fighting~ 目錄 一、JavaScript簡介 二、變量和數(shù)據(jù)類型 三、注釋和分號 四、算術(shù)運算符 五、表達式和語句 六、代碼塊和作用域 七、函數(shù)(最重要)? ????????JavaScript(簡稱JS)是一種運行在瀏覽器中的腳本語言,它可以讓網(wǎng)頁變得

    2024年02月13日
    瀏覽(95)
  • Python入門指南:從零開始學(xué)習(xí)Python編程

    Python入門指南:從零開始學(xué)習(xí)Python編程

    Python是一種簡單而又強大的編程語言,它在全球范圍內(nèi)廣受歡迎,適用于各種應(yīng)用場景,包括Web開發(fā)、數(shù)據(jù)分析、人工智能和科學(xué)計算等。本篇博客將為初學(xué)者提供一份Python入門指南,幫助你從零開始掌握Python編程基礎(chǔ)。 首先,我們需要安裝Python解釋器。前往Python官方網(wǎng)站(

    2024年02月14日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包