前端編程語言——JS背景知識、JS基礎語法、算數運算符和關系運算符(1)

0、前言:

  • JS全稱是JavaScript,是一種腳本語言,誕生于1995年,JS是由ECMAScript(包含js語法)、BOM(Brower Oject Model,和瀏覽器相關操作)、DOM(Document Object Model,和頁面內容相關操作)組成的。JS的版本有ES5、ES6、ES7、ES8
  • JS可以寫在HTML文件當中的,JS也可以寫在后綴名為js的文件當中,然后導入到html文件中,還可以寫在標簽中,作為標簽屬性。和CSS一樣,JS也有三種寫入html的寫法。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 這里寫css語法 */</style><!-- 第一種JS引入方式 --><script type="text/javascript">// 這里寫javascript語法// alert(100)// document.write('hello')// document.write('<b>hello</b>')// 在控制臺打印,相當于python中的print:console.log('控制臺打印內容!')</script><!-- 第二種JS引入方式 --><script src="./demo.js">// 如果是外部導入的js,在此處寫入的js代碼是不會執行的</script>
</head>
<body><script>console.log('body中執行')</script><!-- 第三種JS引入方式 --><button onclick="alert('錯誤')">點擊會彈出內容</button>
</body>
</html>
  • JS當中每行代碼結束最好都加上分號,JS是弱數據類型語言,容錯率比較高。
  • 注意html代碼寫好之后調試會出現網頁,如果期間代碼有修改,可以通過刷新網頁更新頁面。

1、JS基本語法:

  • 變量:定義變量要使用var(variable)關鍵字,可以先定義在賦值,也可以定義加賦值。可以通過逗號隔開,一次定義多個變量。變量類型無需聲明,賦值是什么變量類型就是什么。
  • 命名規范:
    • 數字、字母、下劃線以及美元符($)組成
    • 首字符不能為數字
    • 不能使用關鍵字或者保留字
    • 區分大小寫
    • 小駝峰命名:myStudentScore,大駝峰命名:MyStudentScore
  • 數據類型:Number(int, float), Boolean(布爾類型), String(字符串), Array(數組,類似python中的列表), Object(對象), Set(集合), Null(空,是對象類型的一種值), Undefined(變量未定義的默認值,是有Null派生而來,兩者相等但不全等,但undefined類型就是其本身)
  • NaN:not a number,是一種非法運算的結果。
  • 布爾類型轉換規則:非空字符串為true,空字符串為false。非0數值為true,0或者NaN為false,null為false,undefined為false。
  • 在JS中整數是4個字節保存,浮點數是8個字節保存,一般為了節省內存,就會把12.0這種數值強轉為整數。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 變量var a = 10;console.log(a);var a=1,b=2,c=3;console.log(a,b,c); // 1 2 3// 數據類型:int和floatvar m=10;console.log(typeof m); // numbervar n=3.2;console.log(typeof n); // numbervar l=3.14e3; // 相當于3.14*10^3console.log(l); // 3140console.log(1/0); // Infinityconsole.log(1/0*0); // NaN,不是一種數據類型,是一種特殊值,非法的數值運算產生的值console.log(isNaN(NaN)); // true,判斷是否是特殊值console.log(parseInt(10.8)); // 10console.log(parseInt('10')); // 10// Math數學函數console.log(Math.round(3.243)); // 3, 四舍五入會得到整數部分console.log(3.145.toFixed(2)); // 3.15, 四舍五入可以設置保留位數console.log(Math.max(3,1,2,-1)); // 3, 取最大值// null和undefinedconsole.log(null == undefined) // trueconsole.log(null === undefined) // false</script>  
</body>
</html>

2、算數運算符和關系運算符:

  • 算數運算符:+,-,*,/,%(取余數)
  • 字符串和變量的拼接:+
  • 關系運算符:>,<,<=,>=,兩個等于號 (值相等就成立),三個等于號(值和類型都相等才成立), !=,!==
  • 邏輯運算符:&&、//、! (特別注意邏輯運算中的短路運算,且運算遇到false則短路,或運算遇到true則短路)
  • 賦值和復合運算符:=、+=、-=、*=、/=、%=
  • 一元運算符:++a,a++,–a,a–
  • 三目運算符:條件?滿足條件執行語句 :不滿足條件執行語句
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 普通運算符console.log(10+4); // 14console.log(10%4); // 2console.log(10/4); // 2.5console.log(10**2); // 100console.log('hello'+'haha'); // hellohahaconsole.log('hello'+10+20); // hello1020console.log(10+20+'hello'); // 30helloconsole.log(10 == '10'); // trueconsole.log(10 === '10'); // falseconsole.log(NaN == NaN); // falseconsole.log('abc'>4); // false(字符串和數字比較是非法的,字符串不能被解析為有效數字,就會被轉換為NaN,返回值就是false)console.log('abc'<4); // false(字符串和數字比較是非法的,字符串不能被解析為有效數字,就會被轉換為NaN,返回值就是false)// 邏輯運算符的短路操作:邏輯運算返回的是邏輯運算兩邊的某個操作數,且運算遇到0或False就會短路返回,或運算遇到非0或true就會短路返回console.log(0 && true); // 0console.log(false && 0); // falseconsole.log(true || 0); // trueconsole.log(0 || 1); // 1// 一元運算符var n = 10;var m = n++;console.log(m,n); // 10 11      var n = 10;var m = ++n;console.log(m,n); // 11 11 var a = 10;console.log(a++); // 10console.log(++a); // 12var a = 10;console.log(a--); // 10console.log(--a); // 8// 三目運算符var a=20,b=30;console.log(a>b?a:b); // 30</script>
</body>
</html>

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

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

相關文章

ubuntu設置中文輸入法教程

在 Ubuntu 上設置中文輸入法可以通過以下步驟來完成。我們將以安裝和配置 fcitx 輸入法框架及其中文輸入法插件 fcitx-sunpinyin 為例。 ### 步驟一&#xff1a;安裝 fcitx 和中文輸入法插件 1. **更新軟件包列表** 打開終端并運行以下命令來更新軟件包列表&#xff1a; …

淺談—“文件映射”

目錄 文件映射頭文件&#xff1a; 核心函數 port flags 文件映射頭文件&#xff1a; #include<sys/mman.h> 核心函數 void *mmap(void *addr,size_t length, int port,int flags,int fd, off_t offset ); int munmap(void *addr,size_t length);// 對比free&#x…

聯邦和反射器實驗

拓撲圖 一.實驗要求 1.AS1存在兩個環回&#xff0c;一個地址為192.168.1.0/24&#xff0c;該地址不能在任何協議中宣告 AS3存在兩個環回&#xff0c;一個地址為192.168.2.0/24&#xff0c;該地址不能在任何協議中宣告 AS1還有一個環回地址為10.1.1.0/24&#xff…

PyTorch訓練關鍵點

1.背景 在網上找了一些資料用來訓練關鍵點&#xff0c;一般都是人臉或者車牌關鍵點訓練&#xff0c;或者是聯合檢測一起訓練。很少有是單獨基于輕量級網絡訓練單獨關鍵點模型的工程&#xff0c;本文簡單介紹一種簡單方法和代碼。 2.代碼模塊 &#xff08;1&#xff09;網絡結…

[C][動態內存分配][柔性數組]詳細講解

目錄 1.動態內存函數的介紹1.malloc2.free2.calloc4.realloc 2.常見的動態內存錯誤3.C/C程序的內存開辟4.柔性數組1.是什么&#xff1f;2.柔性數組的特點3.柔性數組的使用4.柔性數組的優勢 1.動態內存函數的介紹 1.malloc 函數原型&#xff1a;void* malloc(size_t size)功能…

iOS馬甲包, AB面,H5跳轉包,開發上架

什么是馬甲包 馬甲包一般是主APP的分身或者克隆&#xff0c;也或者說是穿著馬甲的一個APP&#xff0c;脫掉馬甲&#xff0c;APP將呈現另一種樣式&#xff0c;也就是常說的AB面APP。 1. 馬甲包、AB面、白包、h5跳轉包 2.蘋果開發者 3.TG&#xff1a;APPYKJ 4.喂心&#xff1…

【AI算法崗面試八股面經【超全整理】——概率論】

AI算法崗面試八股面經【超全整理】 概率論信息論機器學習CVNLP 目錄 1、古典概型、幾何概型2、條件概率、全概率公式、貝葉斯公式3、先驗概率、后驗概率4、離散型隨機變量的常見分布5、連續型隨機變量的常見分別6、數學期望、方差7、協方差、相關系數8、獨立、互斥、不相關9.大…

【PB案例學習筆記】-11動畫顯示窗口

寫在前面 這是PB案例學習筆記系列文章的第11篇&#xff0c;該系列文章適合具有一定PB基礎的讀者。 通過一個個由淺入深的編程實戰案例學習&#xff0c;提高編程技巧&#xff0c;以保證小伙伴們能應付公司的各種開發需求。 文章中設計到的源碼&#xff0c;小凡都上傳到了gite…

ESP32 - Micropython ESP-IDF 雙線教程 WIFI (2)

ESP32 - Micropython ESP-IDF 雙線教程 WIFI ESP32 - IDF WIFI轉換為ESP32-IDF的示例代碼main/main.c 代碼解釋 ESP32 - IDF WIFI 轉換為ESP32-IDF的示例代碼 以下是使用ESP-IDF&#xff08;Espressif IoT Development Framework&#xff09;編寫的連接到Wi-Fi網絡的示例代碼…

頸源性頭痛癥狀及表

頸源性頭痛一般表現為&#xff0c;就是說從枕后一直顳側&#xff0c;到太陽穴附近&#xff0c;這個是枕小的一個疼痛&#xff0c;還有一部分人從枕后&#xff0c;沿著一個弧線&#xff08;如下圖&#xff09;的軌跡到了前額&#xff0c;到我們前額&#xff0c;這樣一個疼痛&…

Bitbucket的原理及應用詳解(一)

本系列文章簡介&#xff1a; 在數字化和全球化的今天&#xff0c;軟件開發和項目管理已經成為企業成功的關鍵因素之一。隨著團隊規模的擴大和項目的復雜化&#xff0c;如何高效地協同開發、管理代碼和確保代碼質量成為了開發者和管理者面臨的重要挑戰。Bitbucket作為一款功能強…

深入解析線程上下文切換:掌握線程上下文切換的核心原理

1. 進程與線程的基本概念 1.1 進程與線程的區別 在操作系統中&#xff0c;進程和線程是兩個基本的概念&#xff0c;它們共同構成了程序的執行環境。了解它們的區別是理解線程上下文切換的基礎。 進程&#xff1a;進程是程序的一次執行實例。它是操作系統資源分配的基本單位。…

pytest的斷言與Selenium 模擬操作的一個例子

在Python中&#xff0c;pytest是一個流行的單元測試框架&#xff0c;而Selenium是一個用于自動化瀏覽器操作的工具。結合這兩者&#xff0c;我們可以編寫自動化測試腳本來驗證網頁的行為是否符合預期。下面是一個簡單的例子&#xff0c;展示了如何使用pytest的斷言功能以及Sele…

解決在Mac下使用npm報錯:Error: EACCES: permission denied

原因說明&#xff1a;沒有足夠的權限在 /usr/local/lib/node_modules 目錄下創建文件夾 這個錯誤表明你在安裝或更新 Vue.js&#xff08;vue&#xff09;包時&#xff0c;沒有足夠的權限在 /usr/local/lib/node_modules 目錄下創建文件夾。這通常是因為默認情況下&#xff0c;普…

【頭歌-Python】文件自學引導

禁止轉載&#xff0c;原文&#xff1a;https://blog.csdn.net/qq_45801887/article/details/139258793 參考教程&#xff1a;B站視頻講解——https://space.bilibili.com/3546616042621301 如果代碼存在問題&#xff0c;麻煩大家指正 ~ ~有幫助麻煩點個贊 ~ ~ 文件自學引導 第…

算數運算符

算術運算符是用于數值類型變量計算的運算符。 它的返回結果是數值。 賦值符號 關鍵知識點&#xff1a;先看右側&#xff0c;再看左側&#xff0c;把右側的值賦值給左側的變量。 附上代碼&#xff1a; string myName "唐唐"; int myAge 18; float myHeight 177.5…

202312青少年軟件編程(Python)等級考試試卷(四級)

第 1 題 【單選題】 下列有關分治算法思想的描述不正確的是?(?) A :將問題分解成的子問題具有相同的模式 B :將問題分解出的各個子問題相互之間有公共子問題 C :當問題足夠小時,可以直接求解 D :可以將子問題的求解結果合并成原問題的解 正確答案:B 試題解析: 第 2…

ADIL簡單測試實例

參考資料&#xff1a;https://blog.csdn.net/geyichongchujianghu/article/details/130045373這個連接是Java的代碼&#xff0c;我根據它的鏈接寫了一個kotlin版本的。 AIDL&#xff08;Android Interface Definition Language&#xff09;是Android平臺上用于進程間通信&…

AI辦公自動化:kimi批量新建文件夾

工作任務&#xff1a;批量新建多個文件夾&#xff0c;每個文件夾中的年份不一樣 在kimi中輸入提示詞&#xff1a; 你是一個Python編程專家&#xff0c;要完成一個編寫關于錄制電腦上的鍵盤和鼠標操作的Python腳本的任務&#xff0c;具體步驟如下&#xff1a; 打開文件夾&…

FFmpeg編解碼的那些事(1)

看了網上很多ffmpeg的編解碼的文章和代碼&#xff0c;發現有很多文章和代碼都過時了&#xff0c;主要還是ffmpeg有很多接口都已經發生變化了。 這里簡單說一下&#xff0c;什么是編碼和解碼。 1.視頻編碼 對于視頻來說&#xff0c;可以理解為多張&#xff08;rgb或者yuv&…