WEB06JavaScriptAjax

基礎語法

引入方式

引入方式

內部腳本:將JS代碼定義在HTML頁面中

  • JavaScript代碼必須位于<script></script>標簽之間

  • 在HTML文檔中,可以在任意地方,放置任意數量的<script>

  • 一般會把腳本置于<body>元素的底部,可改善顯示速度

外部腳本:將 JS代碼定義在外部 JS文件中,然后引入到 HTML頁面中

  • 外部JS文件中,只包含JS代碼,不包含<script>標簽

  • <script>標簽不能自閉合

輸出語句

輸出語句

  • 使用 window.alert() 寫入警告框

  • 使用 document.write() 寫入 HTML 輸出

  • 使用 console.log() 寫入瀏覽器控制臺

變量聲明

變量

  • JavaScript 中用 let 關鍵字來聲明變量

  • JavaScript 中用 const 關鍵字來聲明常量

  • JavaScript 是一門弱類型語言,變量可以存放不同類型的值

  • 變量名需要遵循如下規則:

    1. 組成字符可以是任何字母、數字、下劃線(_)或美元符號($)

    2. 數字不能開頭

    3. 建議使用駝峰命名

數據類型

數據類型

JavaScript中也有數據類型的概念,主要有下面幾種

原始類型

  • string:字符串,單雙引皆可

  • number:數字(整數、小數、NaN(Not a Number))

  • boolean:布爾。true,false

  • object:對象和null

  • undefined:當聲明的變量未初始化時,該變量的默認值是 undefined

  • 使用 typeof 運算符可以獲取數據類型

運算符

運算符

== 與 ===

特殊用法

  • 字符串字面值參與運算的時候會自動轉為數字(加法除外)

  • 除法運算會按照人類運算執行,根java中的除法有所區別

流程控制

流程控制語句

流程控制

類型轉換

在js中,任何類型都可以轉為boolean:

  • Number:0 和 NaN為false,其他均轉true

  • String:空字符串為false,其他均為true

  • 對象: Null 和 undefined為false, 其它均為true

函數和事件

函數

定義方式一:

  • 介紹:函數(方法)是被設計為執行特定任務的代碼塊。

  • 定義:JavaScript 函數通過 function 關鍵字進行定義,語法為:

  • 注意:

  • 形式參數不需要類型,因為Js是弱類型語言

  • 返回值也不需要定義類型,可以在函數內部直接使用return返回即可

  • js中如果出現同名的方法,后面的會覆蓋前面的

  • 調用:函數名稱(實際參數列表)

定義方式二:

  • JS中,函數調用可以傳遞任意個數的參數

事件

事件

  • 事件:HTML事件是發生在HTML元素上的 “事情”。比如:

    1. 按鈕被點擊

    2. 鼠標移動到元素上

    3. 按下鍵盤按鍵

  • 事件監聽:JavaScript可以在事件被偵測到時 執行代碼。

事件綁定

  • 方式一:通過 HTML標簽中的事件屬性進行綁定

  • <input type="button" οnclick="on()" value="按鈕1">

    <script> function on(){ alert('我被點擊了!'); } </script>

  • 方式二:通過 DOM 元素屬性綁定

  • <input type="button" id="btn" value="按鈕2">

    <script> document.getElementById('btn').οnclick=function(){ alert('我被點擊了!'); } </script>

對象

數組對象

數組對象

  • JavaScript 中 Array對象用于定義數組

  • 定義

    let 變量名 = new Array(元素列表); //方式一
    let 變量名 = [ 元素列表 ]; //方式二
  • 訪問

  • arr[ 索引 ] = 值;

注意事項

  • JavaScript 中的數組相當于 Java 中集合,數組的長度是可變的,而 JavaScript 是弱類型,所以可以存儲任意的類型的數據。

屬性

方法

  • 箭頭函數(ES6):是用來簡化函數定義語法的。具體形式為: (…) => { … } , 如果需要給箭頭函數起名字: let xxx = (…) => { … }

字符串對象

字符串對象

  • String字符串對象創建方式有兩種:

    let 變量名 = new String("…") ; //方式一
    let 變量名 = "…" ; //方式二

屬性

方法

自定義對象

自定義對象

  • 定義格式:

    let 對象名 = {
    屬性名1: 屬性值1, 
    屬性名2: 屬性值2,
    屬性名3: 屬性值3,
    方法名: function(參數){
    方法體
    }
    };
  • 調用格式

  • 對象名.屬性名;
    對象名.函數名();

JSON對象

JSON-介紹

  • 概念:JavaScript Object Notation,JavaScript對象標記法。

  • JSON 是通過 JavaScript 對象標記法書寫的文本,跟js對象的主要區別就在于,JSON中的鍵必須是字符串類型

JSON-基礎語法

  • 定義

    let 變量名 = '{"key1": value1, "key2": value2}';
  • JSON字符串轉為JS對象

    let jsObject = JSON.parse(userStr);
  • JS對象轉為JSON字符串

    let jsonStr = JSON.stringify(jsObject);

BOM對象

BOM

  • 概念:Browser Object Model 瀏覽器對象模型,允許JavaScript與瀏覽器對話, JavaScript 將瀏覽器的各個組成部分封裝為對象。

Window

  • 介紹:瀏覽器窗口對象。

  • 獲取:直接使用window,其中 window. 可以省略。

  • 屬性

    1. history:對 History 對象的只讀引用。請參閱 History 對象。

    2. location:用于窗口或框架的 Location 對象。請參閱 Location 對象。

    3. navigator:對 Navigator 對象的只讀引用。請參閱 Navigator 對象。

  • 方法

    1. alert():顯示帶有一段消息和一個確認按鈕的警告框。

    2. confirm():顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。

    3. setInterval():按照指定的周期 (以毫秒計)來調用函數或計算表達式。

    4. setTimeout():在指定的毫秒數后調用函數或計算表達式。

Location

  • 介紹:地址欄對象。

  • 獲取:使用 window.location 獲取,其中 window. 可以省略。

  • 屬性: href:設置或返回完整的URL。

DOM對象

DOM

  • 概念:Document Object Model ,文檔對象模型。

  • 將標記語言的各個組成部分封裝為對應的對象:

    1. Document:整個文檔對象

    2. Element:元素對象

    3. Attribute:屬性對象

    4. Text:文本對象

    5. Comment:注釋對象

  • HTML中的Element對象可以通過Document對象獲取,而Document對象是通過window對象獲取的。

  • Document對象中提供了以下獲取Element元素對象的函數:

ajax

ajax

Ajax

  • 概念:Asynchronous JavaScript And XML,異步的JavaScript和XML。

  • 作用:

    1. 數據交換:通過Ajax可以給服務器發送請求,并獲取服務器響應的數據。

    2. 異步交互:可以在不重新加載整個頁面的情況下,與服務器交換數據并更新部分網頁的技術,如:搜索聯想、用戶名是否可用的校驗等等。

同步與異步

原生Ajax

  • 準備數據地址:http://yapi.smart-xwork.cn/mock/169327/emp/list

  • 創建XMLHttpRequest對象:用于和服務器交換數據

  • 向服務器發送請求

  • 獲取服務器響應數據

axios

Axios

  • 介紹:Axios 對原生的Ajax進行了封裝,簡化書寫,快速開發。

  • 官網: Axios中文文檔 | Axios中文網

請求方式別名

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42394.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42394.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42394.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

常見的氣體流量計有哪些?

1.氣體渦輪流量計 適用場合&#xff1a;流量變化小&#xff0c;脈動流頻率小&#xff0c;中低壓潔凈天然氣優點 1.精度高&#xff0c;重復性好 2.測量范圍廣&#xff0c;壓損小&#xff0c;安裝維修方便 3.具有較高的抗電磁干擾和抗震動能力缺點&#xff1a;分辨率低&#xff…

活動:不要卷模型,要卷應用

如何理解李彥宏說的“不要卷模型&#xff0c;要卷應用” 1. 現狀 現如今&#xff0c;是否具備獨立的 AI 技術似乎已經成為衡量一個互聯網企業是否成功的標志。各家都在竭盡全力卷模型、卷數據、卷訓練效果&#xff0c;市面上僅是語言類 AI 就多達十幾種&#xff0c;但從一名消…

瀏覽器中js外掛腳本的執行方式

1、開發工具控制臺交互執行 網頁中按F12打開開發者工具&#xff0c;選擇“控制臺”&#xff0c;鍵入js腳本命令回車執行&#xff0c;適用于臨時使用腳本邏輯簡單的場景&#xff0c;實例如下&#xff1a; // 獲取網頁元素的文本腳本 var elem document.getElementById("…

2-添加庫

本節將學習如何在項目中創建和使用庫&#xff0c;還將看到如何使庫的使用成為可選的。 本節中使用的示例代碼下載見step1-簡單開始cmake實踐-CSDN博客。 練習1 -創建一個庫 要在CMake中添加一個庫&#xff0c;使用add_library()命令并指定哪些源文件應該組成該庫。 我們可…

接入應用內支付服務,提高商業變現效率

在當今競爭激烈的移動應用市場中&#xff0c;開發者們面臨著提升應用商業變現能力的挑戰。用戶體驗的流暢性和支付的安全性至關重要。 HarmonyOS SDK應用內支付服務&#xff08;IAP Kit&#xff09;為開發者提供了一站式的解決方案&#xff0c;簡化了應用內支付的接入流程&…

C嘎嘎:類和對象(一)

目錄 面向過程和面向對象的初步認識 類的引入 類的定義 類的訪問限定符及封裝 訪問限定符 封裝 類的作用域 類的實例化 類對象模型 如何計算類對象大小 結構體內存對齊規則 this指針 this指針的引出 this指針的特性 類的6個默認成員函數 構造函數 概念 特性 …

喜訊丨美格智能通過國際EcoVadis平臺認證企業社會責任并榮獲承諾獎章,彰顯可持續發展實力

作為全球領先的無線通信模組及解決方案提供商&#xff0c;美格智能在社會責任領域再創新高。近日&#xff0c;美格智能憑借在企業社會責任和可持續性采購發展方面的卓越表現&#xff0c;通過國際在線權威評價機構EcoVadis對公司環境、勞工與人權、商業道德、可持續采購等方面審…

根據空格、制表符、回車符等分割字符串re.split

【小白從小學Python、C、Java】 【考研初試復試畢業設計】 【Python基礎AI數據分析】 根據空格、制表符、 回車符等分割字符串 re.split [太陽]選擇題 根據給定的Python代碼&#xff0c;哪個選項是正確的&#xff1f; import re pattern r\s print(f"【顯示】pattern{…

高清圖片壓縮無水印小程序源碼系統 前后端分離 帶完整的安裝代碼包以及搭建教程

系統概述 在當今的數字化時代&#xff0c;圖片作為信息傳播的重要載體&#xff0c;其質量和傳輸效率直接影響到用戶體驗。然而&#xff0c;高清圖片往往伴隨著較大的文件體積&#xff0c;這不僅會占用大量存儲空間&#xff0c;還會拖慢網頁或應用的加載速度。因此&#xff0c;…

熱烈祝賀!全視通多家客戶上榜全球自然指數TOP100!

2024年6月18日&#xff0c;全球醫療機構自然指數TOP100榜單發布&#xff0c;中國醫療機構在其中的表現尤為引人注目。 根據《自然》雜志網站發布的數據&#xff0c;此次公布的排名是基于&#xff08;2023年3月1日至2024年2月29日&#xff09;的統計數據&#xff0c;全球醫療機構…

Python在網絡爬蟲和數據抓取中的應用

Python在網絡爬蟲和數據抓取中的應用 引言 在數字化時代&#xff0c;數據的價值日益凸顯。無論是市場趨勢分析&#xff0c;還是個人偏好預測&#xff0c;數據都扮演著至關重要的角色。Python&#xff0c;作為一種功能強大、語法簡潔的編程語言&#xff0c;為數據的獲取、處理…

旗晟機器人AI智能算法有哪些?

在當今迅猛發展的工業4.0時代&#xff0c;智能制造和自動化運維已然成為工業發展至關重要的核心驅動力。伴隨技術的持續進步&#xff0c;工業場景中的運維巡檢已不再單純地依賴于傳統的人工運維方式&#xff0c;而是愈發多地融入了智能化的元素&#xff0c;其中智能巡檢運維系統…

前端Din字體和造字工房力黑字體文件

Din 字體是一種經典的、簡潔的無襯線字體&#xff0c;它源自1930年代的德國交通標志設計。 造字工房力黑字體適用于數字&#xff0c;駕駛艙標題等統計界面 DIN-Medium.otf 案例 造字工房力黑.TTF 案例

記錄一次MySql鎖等待 (Lock wait timeout exceeded)異常

[TOC](記錄一次MySql鎖等待 (Lock wait timeout exceeded)異常) Java執行一個SQL查詢未提交&#xff0c;遇到1205錯誤。 java.lang.Exception: ### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transactionCluster…

動手學深度學習6.2 圖像卷積-筆記練習(PyTorch)

以下內容為結合李沐老師的課程和教材補充的學習筆記&#xff0c;以及對課后練習的一些思考&#xff0c;自留回顧&#xff0c;也供同學之人交流參考。 本節課程地址&#xff1a;卷積層_嗶哩嗶哩_bilibili 代碼_嗶哩嗶哩_bilibili 本節教材地址&#xff1a;6.2. 圖像卷積 — 動…

Python使用watchdog庫實現監控文件系統的更改

1. 先下載對應庫&#xff1a; pip install watchdog import time from watchdog.observers import Observer from watchdog.events import FileSystemEventHandlerclass FileChangeHandler(FileSystemEventHandler):def on_modified(self, event):# 當文件被修改時觸發此方法…

淺析Nginx技術:開源高性能Web服務器與反向代理

什么是Nginx&#xff1f; Nginx是一款輕量級、高性能的HTTP和反向代理服務器&#xff0c;也可以用作郵件代理服務器。它最初由俄羅斯的程序員Igor Sysoev在2004年開發&#xff0c;并于2004年首次公開發布。Nginx的主要優勢在于其非阻塞的事件驅動架構&#xff0c;能夠處理大量并…

Vue3使用ref綁定組件獲取valueRef.value為null的解決

問題&#xff1a; onMounted(() > {nextTick(()>{console.log(treeselectRef, treeselectRef.value);console.log(treeselectRef.value, treeselectRef.value);}); });輸出&#xff1a; 查看綁定和定義都沒有問題&#xff0c;還是獲取不到 解決&#xff1a;使用getCur…

數據結構第17節 最小堆

最小堆&#xff08;Min Heap&#xff09;是一種特殊的完全二叉樹數據結構&#xff0c;在這種結構中&#xff0c;對于任意節點&#xff0c;其值都小于或等于它的子節點的值。根節點是堆中的最小元素。最小堆常用于實現優先隊列&#xff0c;以及堆排序算法。 在Java中&#xff0…

14-55 劍和詩人29 - RoSA:一種新的 PEFT 方法

介紹 參數高效微調 (PEFT) 方法已成為 NLP 領域研究的熱門領域。隨著語言模型不斷擴展到前所未有的規模&#xff0c;在下游任務中微調所有參數的成本變得非常高昂。PEFT 方法通過將微調限制在一小部分參數上來提供解決方案&#xff0c;從而以極低的計算成本在自然語言理解任務上…