[HTML]Web前端開發技術27(HTML5、CSS3、JavaScript )JavaScript基礎——喵喵畫網頁

希望你開心,希望你健康,希望你幸福,希望你點贊!

最后的最后,關注喵,關注喵,關注喵,佬佬會看到更多有趣的博客哦!!!

喵喵喵,你對我真的很重要!

目錄

前言

JavaScript程序控制結構

順序結構

分支結構

循環結構-for

循環結構-while語句

循環結構-do-while語句

循環結構-for-in循環

循環結構-循環的嵌套

循環中斷與繼續

JavaScript函數

常用系統函數-全局函數

常用系統函數-常用的對象函數

自定義函數

函數變量的作用域

課后練習

編程實現“手機批發業務-產品選購”頁面,主要功能有查看購物車、收銀臺結算、初始化參數等

總結


前言

Web 前端開發工程師應掌握以下內容

理解 JavaScript 程序的概念與作用;
掌握 JavaScript 標識符和變量的概念及使用方法;
掌握 JavaScript 常用運算符和表達式概念;
掌握 JavaScript 中順序、分支、循環等 3 種程序控制結構語法;
掌握 JavaScript 函數的定義方法,并學會使用;
學會綜合運用 JavaScript 設計具有動態、交互功能的網頁。


JavaScript程序控制結構

??? 在網頁設計中JavaScript的主要作用是實現內容與行為的分離,而要實現交互式的頁面必須編寫相應的腳本程序。程序是專門解決某一問題的特定代碼。

JavaScript 程序設計分為兩種 :

? 面向過程和面向對象的程序設計。

程序控制結構:

? 順序結構、分支結構和循環結構。


順序結構

?????? 順序結構是最常用的一種程序結構,是按照語句出現的順序,從第一條語句開始一步一步逐條執行,直至最后一條語句。


分支結構

???? 在 JavaScript 中,可以使用下面幾種條件語句:

if 語句( 單條件單分支 ):在一個指定的條件成立時執行代碼。
if...else 語句( 單條件雙分支 ):在指定的條件成立時執行代碼,當條件不成立時執行另外的代碼。
if...else if....else 語句( 多條件多分支 ):使用這個語句可以選擇執行若干塊代碼中的一個。
switch 語句( 單條件多分支 ):使用這個語句可以選擇執行 若干塊代碼 中的一個。

循環結構-for

for (初始化表達式;判斷表達式;循環表達式){? ?

需循環執行的代碼

?}


循環結構-while語句

while(表達式) {

?? 需執行的代碼;

}


循環結構-do-while語句

do… while循環

do{

??? 需執行的代碼;

? }while(表達式)


循環結構-for-in循環

該循環用來對數組或對象的屬性進行操作的。基本語法:

??? for (變量 in 對象){? 執行代碼; }


循環結構-循環的嵌套

循環的嵌套:一個循環內又包含著另一個完整的循環結構,稱為循環的嵌套。


循環中斷與繼續

break作用:立即結束循環并轉到循環后續語句執行。

continue作用:結束本次循環,其后的語句本次不再執行,開始下一次的循環


JavaScript函數

?JavaScript 函數分為系統內部函數和系統對象定義的函數及用戶自定義函數。
函數需要先定義后使用, JavaScript 函數一般定義在 HTML 文件的頭部 head 標記或外部 JS 文件中 ,而函數的調用可以在 HTML 文件的主體 body 標記中任何位置。
常用 系統函數 全局函數 對象定義的函數 。全局函數它不屬于任何一個內置對象,使用不需要加任何對象名稱,直接使用。

常用系統函數-全局函數

1. 計算表達式的結果函數eval(字符串表達式)

??? ?返回值:表達式的值或“undefined”

? ? ?2.編碼函數escape()escape(字符串)

?????? escape() 函數將參數字符串中的特定字符(ISO-Latin-1 字符集)進行編碼,并返回一個編碼后的字符串。它可以對空格、標點符號及其他非ASCII字母表的字符進行編碼,除了以下字符:“*? @? -? _? +? .? / ”

? ? 3.解碼函數:unescape(string)

??? unescape 函數返回的字符串是 ISO-Latin-1 字符集的字符。參數string包含形如“%xx”的字符的字符串,此處xx為兩位十六進制數值。

? ?4.字符型轉換成數值型函數:parseFloat(string)

? ?5.字符型轉換成數值型函數:parseInt(numbestring , radix);

? ?6.判斷是否是NaN()函數:isNaN(testValue);

???????? NaN:not a Number? 注意大小寫


常用系統函數-常用的對象函數

1toString(radix)Number型數據轉換為字符型數據,并返回指定的基數的結果。其中radix范圍236,若省略該參數,則使用基數10

??? var a = 12;alert(a.toString(2)); //告警框輸出結果為1100(二進制)

???? alert(a.toString()); //告警框輸出結果為12(默認的十進制)

????? 2toFixed(n)。將浮點數轉換為固定小數點位數的數字。n是整數,設置小數的位數,如果省略了該參數,將用0代替。

例如:

??? var a = 2016.1567;alert(a.toFixed(2)); //保留2位小數,結果為2016.16

??? alert(a.toFixed (5)); //保留5位小數,告警框輸出結果為2016.15670

3)字符串查找和提取常用函數

var str="Welcome to you!";

var substr=str.substring(3,6); //從第0個字符,第3-6個之間字符為"com"

var somestr=str.charAt(4);??? //從第0個字符開始數,取第4個字符結果是"o"

?? 其它參照案例edu_14_6_7.html


自定義函數

基本語法:

??? function functionname(argument1,argument2,..., argumentn){函數體;}

語法說明:

函數就是包裹在花括號中的代碼塊,使用關鍵詞 function 來定義。當調用該函數時,會執行函數內的代碼。
在調用函數時,可以向其傳遞值,這些值被稱為參數。這些參數可以在函數中使用。可以發送任意多的參數,參數之間用由逗號分隔。也可以沒有參數,但括號不能省略,參數類型不需要給定。
函數體必須寫在“ { ”和“ } ”內,“ { ”、“ } ”定義了函數的開始和結束。
JavaScript 中區分字母大小寫,因此“ function ”這個詞必須是全部字母小寫的,否則程序就會出錯。另外需要注意的是,必須使用大小寫完全相同的函數名來調用函數。 :

?? function sum(x,y){return x*y;}

?function showMessage(mess){

???? alert(mess);

}


函數變量的作用域

變量分為局部變量和全局變量

局部變量 是指在函數內部聲明的變量,只在一段程序中起作用的變量; 全局變量 是指在函數之外聲明的變量,在整個 JavaScript 代碼中都可起作用的變量,全局變量的生命周期從聲明開始,在頁面關閉時結束。
局部變量和全局變量可以重名。即在函數體外聲明了一個變量,在函數體內再聲明一個同名的變量。在函數體內部,局部變量的優先級高于全局變量,即在函數體內,同名的全局變量被隱藏了。
需要注意到是:專用于函數體內部的變量一定要用 var 關鍵字聲明 ,否則該變量將被定義成全局變量,如果函數體外部有同名的變量,可能導致該全局變量被修改。

課后練習

編程實現“手機批發業務-產品選購”頁面,主要功能有查看購物車、收銀臺結算、初始化參數等

<!-- edu_14_7_1.html -->
<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><title>圖書選購</title><style type="text/css">table{width: 580px;height: 200px;}			td{text-align: center;	vertical-align: middle;}			.myBtn {margin: 20px;width: 120px;	height: 45px;border: 1px ridge #44FFEE;}</style><script type="text/javascript">var result = ""; //存放選購信息			var price = new Array(2576.00, 2999.00, 3898.00, 699.00, 599.00, 699.00);var product = new Array("iPhone 6 32GB 金色 移動聯通電信4G", "OPPO R11 全網通 黑色版", "Apple iPhone 6s Plus 32GB 金色 移動聯通電信4G手機", "小米 紅米手機4X 全網通版 2GB內存 16GB 香檳金", "小米 紅米手機4A 全網通版 2GB內存 16GB 玫瑰金", "小米 紅米4X 全網通版 2GB內存 16GB 櫻花粉");var isSelected = new Array(0, 0, 0, 0, 0, 0);function clearAll() {isSelected = [0, 0, 0, 0, 0, 0]; //選擇狀態全部置0		
//所有復選框狀態變為未選中狀態
myForm.sp0.checked = false;
myForm.sp1.checked = false;
myForm.sp2.checked = false;
myForm.sp3.checked = false;
myForm.sp4.checked = false;
myForm.sp5.checked = false;
}
function checkOut() {var total = 0;//存放小計金額var count = 0;//存放選購產品件數for(var i = 0; i < isSelected.length; i++) {count += isSelected[i];}for(var i = 0; i < price.length; i++) {total = total + price[i] * isSelected[i]//累計金額}alert("您所選購的" + count + "件,產品總價=" + total+"\n"+"請去支付!");
}
function shoppingCart() {//判斷有多少個復選框被選中
var selectList = ""; //保存所選產品清單for(var j = 0; j < product.length; j++) {if(isSelected[j]) {//分行顯示selectList += (j + 1) + "-" + product[j] + ",價值=" + price[j] + "\n";}
}
var info = (selectList == "") ? "您的購物車為空,請選購!" : selectList;
alert(info);//生成一個結算清單,顯示輸出				
}
function checkSelect(number) {var temp;//暫存復選框狀態switch(number) {case 0:temp = myForm.sp0.checked;break;case 1:temp = myForm.sp1.checked;	break;case 2:temp = myForm.sp2.checked;	break;case 3:temp = myForm.sp3.checked;	break;case 4:
temp = myForm.sp4.checked;	break;
default:temp = myForm.sp5.checked;	break;
}
isSelected[number] = (temp) ? 1 : 0; //記錄下選中產品,1-選中,0-未選		
}
</script>
</head>
<body>
<form name="myForm" method="post" action="">
<table align="center" border="1">
<caption>手機批發業務-商品備選區</caption>
<tr>
<td><img src="mobile_1.jpg" /><br />
<h4 name="h41">iPhone 6 32GB 金色 移動聯通電信4G</h4><input type="checkbox" name="sp0" value="2576" onclick="checkSelect(0);">¥ 2576.00<br /></td>
<td><img src="moblie_2.jpg" /><br />
<h4 name="h421">OPPO R11 全網通 黑色版</h4>
<input type="checkbox" name="sp1" value="2999" onclick="checkSelect(1);">¥ 2999.00<br /></td>
<td><img src="moblie_3.jpg" /><br /><h4 name="h43">Apple iPhone 6s Plus 32GB 金色 移動聯通電信4G手機</h4>
<input type="checkbox" name="sp2" onclick="checkSelect(2);"> ¥ 3898.00<br /></td>
</tr>
<tr>
<td><img src="moblie_4.jpg" /><br />
<h4 name="h44">小米 紅米手機4X 全網通版 2GB內存 16GB 香檳金</h4><input type="checkbox" name="sp3" value="699" onclick="checkSelect(3);"> ¥ 699.00
<br /></td>
<td><img src="moblie_5.jpg" /><br />
<h4 name="h45"> 小米 紅米手機4A 全網通版 2GB內存 16GB 玫瑰金</h4>
<input type="checkbox" name="sp4" value="599" onclick="checkSelect(4);">¥ 599.00<br /></td>
<td><img src="moblie_6.jpg" /><br />
<h4 name="h46">小米 紅米4X 全網通版 2GB內存 16GB 櫻花粉</h4>
<input type="checkbox" name="sp5" value="699" onclick="checkSelect(5);">¥ 699.00<br /></td>
</tr>
<tr>
<td colspan="3">
<input class="myBtn" type="button" value="查看購物車" onclick="shoppingCart();">
<input class="myBtn" type="button" value="收銀臺結算" onclick="checkOut();">
<input class="myBtn" type="button" value="初始化參數" onclick="clearAll();">
</td>
</tr>
</table>
</form>
</body>
</html>

總結

? JavaScript是一種功能強大、使用簡便的、具有安全性的客戶端腳本語言。

? ? 本章簡要地介紹了JavaScript語言的歷史和特點,詳細講解了JavaScript的標識符、變量、運算符和表達式、三種程序控制結構(包括順序結構、分支結構和循環結構)及函數等相關知識。通過在HTML文檔中嵌入JavaScript腳本語言,可以增強用戶與網頁之間的交互性,并在頁面中實現各種特效,提高頁面的觀賞性。


希望你開心,希望你健康,希望你幸福,希望你點贊!

最后的最后,關注喵,關注喵,關注喵,佬佬會看到更多有趣的博客哦!!!

喵喵喵,你對我真的很重要!

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

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

相關文章

activeMq將mqtt發布訂閱轉成消息隊列

1、activemq.xml置文件新增如下內容 2、mqttx測試發送&#xff1a; 主題&#xff08;配置的模糊匹配&#xff0c;為了并發&#xff09;&#xff1a;VirtualTopic/device/sendData/12312 3、mqtt接收的結果 4、程序處理 package comimport cn.hutool.core.date.DateUtil; imp…

ReactNative進階(二十三)error: no type or protocol named ‘RCTBridgeModule’問題修復

文章目錄 一、前言三、拓展閱讀 一、前言 Jenkins組包RN技術棧實現的iOS應用時&#xff0c;遇到以下錯誤提示信息&#xff1a; error: no type or protocol named ‘RCTBridgeModule’ interface RCTEventDispatcher : NSObject <RCTBridgeModule>error: cannot find i…

【AIGC】基于深度學習的圖像生成與增強技術

摘要&#xff1a; 本論文探討基于深度學習的圖像生成與增強技術在圖像處理和計算機視覺領域的應用。我們綜合分析了主流的深度學習模型&#xff0c;特別是生成對抗網絡&#xff08;GAN&#xff09;和變分自編碼器&#xff08;VAE&#xff09;等&#xff0c;并就它們在實際應用中…

嵌入式linux開發 (三十四) 內存管理2.0(6) 各種段(.code .rodata .data .bss .stack .heap)的含義

我們知道, 邏輯程序在連接的時候在elf 文件中會有 .code .rodata .data 然后在內存中才會有 .code .rodata .data那么為什么鏈接器在鏈接生成的elf文件中會有這些段呢?這涉及到鏈接器的歷史問題

小程序性能優化

背景 在開發小程序的過程中我們發現&#xff0c;小程序的經常會遇到性能問題&#xff0c;尤其是在微信開發者工具的時候更是格外的卡&#xff0c;經過排查發現&#xff0c;卡頓的頁面有這么多的js代碼需要加載&#xff0c;而且都是在進入這個頁面的時候加載&#xff0c;這就會…

Java架構師之路九、設計模式:常見的設計模式,如單例模式、工廠模式、策略模式、橋接模式等

目錄 常見的設計模式&#xff1a; 單例模式&#xff1a; 工廠模式&#xff1a; 策略模式&#xff1a; 橋接模式&#xff1a; 責任鏈模式&#xff1a; Java架構師之路八、安全技術&#xff1a;Web安全、網絡安全、系統安全、數據安全等-CSDN博客Java架構師之路十、框架和工…

Android 仿信號格子強度動畫效果實現

效果圖 在 Android 中&#xff0c;如果你想要繪制一個圓角矩形并使其居中顯示&#xff0c;你可以使用 Canvas 類 drawRoundRect 方法。要使圓角矩形居中&#xff0c;你需要計算矩形的位置&#xff0c;這通常涉及到確定矩形左上角的位置&#xff08;x, y&#xff09;&#xff0…

Leetcode 第 384 場周賽題解

Leetcode 第 384 場周賽題解 Leetcode 第 384 場周賽題解題目1&#xff1a;3033. 修改矩陣思路代碼復雜度分析 題目2&#xff1a;3034. 匹配模式數組的子數組數目 I思路代碼復雜度分析 題目3&#xff1a;3035. 回文字符串的最大數量思路代碼復雜度分析 題目4&#xff1a;3036. …

C語言標準庫介紹:<string.h>

在C語言中&#xff0c;<string.h>頭文件是標準庫中的一個重要部分&#xff0c;它定義了一系列操作字符串和字符數組的函數。本文將詳細介紹<string.h>頭文件中包含的22個函數&#xff0c;并提供每個函數的完整示例代碼。 簡介 <string.h>頭文件定義了一個變…

設計模式-工廠模式(Factory Pattern)

一、工廠模式說明 工廠模式是一種創建型設計模式&#xff0c;它提供了一種將對象的創建與使用分離的方式。工廠模式通過引入一個公共的接口來創建對象&#xff0c;而不是通過直接調用構造函數來創建對象。這樣做的好處是使得代碼更加靈活&#xff0c;更容易維護和擴展。 工廠模…

第3部分 原理篇2去中心化數字身份標識符(DID)(2)

3.2.2. DID相關概念 3.2.2.1. 去中心化標識符 (Decentralized identifier&#xff0c;DID) 本聰老師&#xff1a;DID有兩個含義&#xff0c;一是Decentralized identity&#xff0c;就是去中心化身份&#xff0c;是廣泛意義的DID。另外一個是Decentralized identifier&#xf…

Web性能優化-瀏覽器工作原理-MDN文檔學習筆記

瀏覽器工作原理 查看更多學習筆記&#xff1a;GitHub&#xff1a;LoveEmiliaForever MDN中文官網 導航 導航是加載 web 頁面的第一步&#xff1a;輸入 URL、點擊一個鏈接、提交表單等等 DNS查詢 導航的第一步是要去尋找頁面資源的位置 例如訪問https://example.com&#x…

如何解決DNS解析錯誤故障

DNS解析錯誤會導致將一個域名解析為錯誤的IP地址&#xff0c;或者根本無法確定某個域名對應的IP地址&#xff0c;從而無法通過域名訪問相應的站點&#xff0c;形成DNS解析故障。最常見的癥狀是訪問站點對應的IP地址沒有問題&#xff0c;但訪問其域名時卻出現錯誤。 DNS解析異常…

qt-動畫圓圈等待-LED數字

qt-動畫圓圈等待-LED數字 一、演示效果二、關鍵程序三、下載鏈接 一、演示效果 二、關鍵程序 #include "LedNumber.h" #include <QLabel>LEDNumber::LEDNumber(QWidget *parent) : QWidget(parent) {//設置默認寬高比setScale((float)0.6);//設置默認背景色se…

【深入了解TensorFlow】TensorFlow的安裝與配置

【深入了解TensorFlow】TensorFlow的安裝與配置 TensorFlow的安裝與配置準備就緒:開始前的準備工作1. 確定您的硬件和操作系統2. 選擇安裝方式3. 創建虛擬環境(可選)安裝TensorFlow使用pip安裝使用conda安裝從源代碼編譯安裝配置TensorFlow導入TensorFlow模塊檢查安裝是否成…

Oracle 表被刪除或重命名后賬戶間的授權與同義詞關系

Oracle 表被刪除或重命名后賬戶間的授權與同義詞關系 情景一、 當數據表刪除后 數據表被刪除后&#xff0c;同義詞還是存在的&#xff0c;可以查看當前用戶下查看同義詞&#xff1a; -- 查看當前用戶下的同義詞 select * from user_synonyms但授權關系不在了&#xff0c;若重…

10 個 Linux 中超方便的 Bash 別名

1、 你有幾次遇到需要解壓 .tar 文件但無法記住所需的確切參數&#xff1f;別名可以幫助你&#xff01;只需將以下內容添加到 .bash_profile 中&#xff0c;然后使用 untar FileName 解壓縮任何 .tar 文件。 alias untartar -zxvf 2、 下載文件時&#xff0c;如果出現問題想要…

websocket與Socket的區別

概念講解 網絡&#xff1a;通俗意義上&#xff0c;也就是連接兩臺計算器 五層網絡模型&#xff1a;應用層、傳輸層、網絡層、數據鏈路層、物理層 應用層 (application layer)&#xff1a;直接為應用進程提供服務。應用層協議定義的是應用進程間通訊和交互的規則&#xff0c;不…

明明正常,卻不停return

明明正常&#xff0c;卻不停return if(!is); { return ; } 熬人

應急響應速查

最重要的&#xff1a;我是誰&#xff1f;我在哪&#xff1f;別人怎么進來的&#xff1f;我就是這個被挖礦被勒索的電腦。 分析項 &#xff1a; 一、了解大概的被入侵系統情況&#xff1a; 發現時間&#xff1f;怎么發現的&#xff1f;這臺機器有沒有人運維&#xff1f;平時還…