js篇

来源:https://www.cnblogs.com/jackw1/archive/2020/03/30/12597406.html
-Advertisement-
Play Games

簡介 _ 俗稱 ,`js ECMAScript Netscape web`游戲,伺服器腳本開發等;_ 特點 是一種解釋性腳本編程語言 是基於對象的腳本編程語言 簡單性 安全性(不能訪問本地硬碟) 動態性的 跨平臺性(依賴瀏覽器,與操作系統無關) 三種使用方法 (1)使用 :屬性構建執行 代碼 點擊 ...


javascript簡介

javascript俗稱jsjs的正式名稱是ECMAScript,是網景公司Netscape公司開發的一種基於客戶端瀏覽器、基於面向對象、事件驅動式的網頁腳本語言。主要用於:互動式操作,表單驗證,網頁特效,web游戲,伺服器腳本開發等;

特點

  • js是一種解釋性腳本編程語言
  • js是基於對象的腳本編程語言
  • 簡單性
  • 安全性(不能訪問本地硬碟)
  • 動態性的
  • 跨平臺性(依賴瀏覽器,與操作系統無關)

三種使用方法

(1)使用onclick:屬性構建執行js代碼

<a href="#" onclick="alert(1)">點擊</a>

(2)使用<script../>標簽來包含js代碼

<script type="text/javascript">
	alert('Hello, world');
</script>

(3)導入外部的javascript文件,讓html頁面和js腳本分離

<script src="outer.js" type="text/javascript"></script>

####**`javascript`變數和數據類型** `js`是弱類型腳本語言,使用變數之前,可以無需定義,當使用某個變數的時候直接使用即可。主要分為以下兩種定義方式: (1)隱式定義:直接給變數賦值(隱式變數聲明的時候必須賦初值) ` a = 10;` (2)顯示定義:使用`var`關鍵字定義變數(使用之前必須賦初值,不然會報`undefined`錯誤) `var a = 10;`

**變數命名規則: **

  • 首字母必須是字母、下劃線或者$符號。
  • 餘下的字母可以是下劃線、$、任意字母或數字。
  • 變數名不能使用關鍵字
  • 變數名對大小寫敏感。

js是弱類型腳本語言,聲明變數時無需指明變數的數據類型,js是解釋時動態決定的,數據保存在記憶體中時也是有數據類型的,常用數據類型如下:

  • 數值類型(number):包含整數和浮點數
  • 布爾類型(boolean):只有truefalse兩個值
  • 字元串類型(string):字元串必須用單引號或雙引號括起來
  • 對象類型(object)
  • 數組類型(array
  • 未定義類型(undefined):專門用來確定一個已經創建但是沒有初值的變數
  • 空類型(null):用來表明某個變數的值為空
  • NaN:非數值型

註:undefinednull的值相等,類型不同。 兩個字元串是否相等,可用==來判斷。

**數據類型轉換: **

+號或者toString():數值number類型轉換成字元串
parseInt():將字元串轉為整型
parseFloat():將字元串轉換為浮點型

**註意: **

parseInt('67red') -> 67(字元串轉為整型的時候會自動截取前面的數字,後面的忽略)
parseInt('red67') -> NaN(字元串前面沒有數字,會報not a number錯誤)

字元串常用方法:

stringObject.charAt(index):獲取字元串特定索引處的字元 
index:下標(如果不在0~stringObject.length-1的範圍內,返回'') 
返回值:string

stringObject.toUpperCase():將字元串的所有字元轉換成大寫字母 
返回值:string

stringObject.toLowerCase():將字元串的所有字元轉換成小寫字母 
返回值:string

stringObject.substring(start, end):提取字元串中介於兩個指定下標之間的字元 
start:必須,字元串中開始位置 
end:非必需,字元串中結束位置,如果不指定,會一直到字元串的結尾 
返回值:string

arrayObject.slice(start, end):提取字元串中介於兩個指定下標之間的字元,可指定負數 
start:必須,字元串中開始位置 
end:非必需,字元串中結束位置,如果不指定,會一直到字元串的結尾 
返回值:string

stringObject.indexOf(searchvalue,fromindex):返回某個指定的字元串值在字元串中首次出現的位置 
searchvalue:必須,需要查找的字元串 
fromindex:非必須,字元串的指定位置,如果不指定,會從字元串的開始位置開始查找 
返回值:number

stringObject.replace(regexp/substr,replacement):將字元串中的某個子串以特定的字元串替換 
regexp/substr:需要替換的字元串 
replacement:替換字元串的值 
返回值:string

stringObject.split(separator,limit): 
separator	必需,分隔符 
limit 可選。該參數可指定返回的數組的最大長度,如果不指定,整個字元串都會被分割 
返回值:string數組

stringObject.concat(str1, str2...):用於將多個字元串拼加成一個字元串 
str1:字元串 
返回值:string

**註意: **

  • 用字元串做加法的時候,會做字元串拼接工作
  • 用字元串做減法、乘法、除法的時候,會將字元串轉換成數值類型進行減法、乘法、除法運算

js數組

三種定義數組的方法:
(1)定義時直接給數組變數賦值
var arr = [1, 2, 3];
(2)定義一個空數組
var arr = [];
(3)用new方法定義數組
var arr = new Array();

特點:

  • 數組長度可變
  • 同一數組中的元素類型可以互不相同
  • 當訪問未賦值的數組元素時,該元素值為undefined,不會數組越界

js裡面沒有數組越界的概念,會顯示undefined

js運算符

算術運算符:+ - * / % ++ --
賦值運算符:=
比較運算符:> < >= <= == != === !==
邏輯運算符:&& || !
位運算符:& | ~ ^ << >>
其他運算符:三目運算符(?:)
void運算符:強行指定某個表達式的不會返回值
typeof 運算符:獲取某個變數的數據類型
instanceof運算符:判斷某個變數的數據類型是否為指定的數據類型
var a = void 3; //輸出為undefined
document.write(typeof(str)); //輸出為string
alert(arr instanceof Array); //輸出為true

註意:js中沒有繼承的概念,所有的對象的父類都是object

js流程式控制制

js支持的分支語句主要有ifswitch語句。

if(條件){
	//表達式
}else{
	//表達式
}

//註意:switch中表達式的值可以是number類型,也可以是string類型
switch(表達式){
	case 值1: //表達式 break;
	case 值1: //表達式 break;
	...
	default://表達式;

}

js支持的迴圈語句主要有while迴圈,do-while迴圈,for迴圈,for-in迴圈

//先判斷,後執行
while(迴圈條件){
	//表達式
}

//先執行,後判斷,至少執行一次
do{
	//表達式
}while(迴圈條件)

//當迴圈次數確定的情況下,一般用for迴圈,更簡潔
for(表達式1; 表達式2; 表達式3){
	//表達式
}

//可用於遍歷對象,比如數組(數組遍歷的是下標,對象遍歷的是屬性,註意:都不是具體的值)
for(變數 in 對象){
	//表達式
}

//遍歷的是下標
var arr = [1, 2, 3, 4, 5];
			arr[5] = 10;
			arr[10] = 11;

for(var a in arr){
	document.write(arr[a]+'	');
}

js提供了breakcontinue來改變迴圈的控制流

  • break:跳出該層迴圈
  • continue:結束該層迴圈的本次迴圈

常用的特殊語句

語句是js的基本執行單元,每條語句都是以分號結束,語句了前面的賦值語句、算術運算等語句之外,還有一些特殊語句。

  • 語句塊(包含在一對大括弧里)
  • 空語句(使用運用比較少)
  • 異常拋出語句
    throw new Error('異常拋出');
  • 異常捕捉語句
    try{
    	var age = 5;
    	if(age == 5){
    		throw new Error('異常拋出');
    	}
    }catch(e){
    	document.write('出錯:'+e.message);
    }finally{
    	document.write('總會執行的finally塊');
    }
    

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 說明:轉載至自 邊城的理解 JavaScript 的 async/await async 和 await 在乾什麼 任意一個名稱都是有意義的,先從字面意思來理解。async 是“非同步”的簡寫,而 await 可以認為是 async wait 的簡寫。所以應該很好理解 async 用於申明一個 fun ...
  • JavaScript對於已經看到這篇博客的鐵子已近有了瞭解。 這篇博客寫一個效果:點擊按鈕跟換表格: 源碼下載 : https://files.cnblogs.com/files/2979100039-qq-con/jqy_example_01.zip 上一張效果圖: 點擊按鈕更換皮膚: 其他的就不 ...
  • DOM 即文檔對象模型,是操作 HTML/XML 文檔的一套方法。通過 DOM 操作節點,使頁面發生改變,是動態文檔技術的核心內容 ...
  • 記錄下引起這個報錯的原因: JSON.parse()參數應該是string類型 由於傳遞的參數是object 類型 那麼JSON.parse() 就會把object類型預設轉成string 結果為“[object object]” "["字元就當是數組去解析,然後遇到第二個字元“o” 他就蒙圈了 然 ...
  • <iframe>標簽規定一個內聯框架,一個內聯框架被用來在當前 HTML 文檔中嵌入另一個文檔,通過使用框架,你可以在同一個瀏覽器視窗中顯示不止一個頁面。 1 <iframe src="URL"></iframe><!--iframe語法--> 該URL指向不同的網頁,將視窗內容顯示為URL地址指向 ...
  • 全稱 (非同步 和`XML`),是一種用於創建快速動態網頁的技術。它在不重載全部網頁頁面的情況下,實現了對部分網頁的更新。 請求和瀏覽器地址請求區別 瀏覽器發起的請求,請求結果展示在瀏覽器上 發起的請求,結果保存在 變數里 適用場景 註冊用戶時,對用戶名的唯一性進行驗證 發送手機驗證碼 只要是不刷新網 ...
  • 快速、簡潔的 框架,設計宗旨: _write Less, Do More_ 。 作用:簡化原生 的語法,解決瀏覽器相容性問題。 引入 可以直接引入線上地址,也可以在 [官方網站][1]上下載,然後使用 屬性引入: [1]: https://jquery.com/ 基礎語法: :`jQuery`對象 ...
  • 關於函數 函數是可重覆執行的包含特定功能的代碼段。 中的 命名函數 和 匿名函數 點擊我吧 點擊它吧 關於 `DOM Document Object Model DOM DOM DOM`樹進行修改、刪除、新增等操作,讓結構化文檔動態化。 模型中的節點 文檔可以說是由節點構成的集合。在 模型中有以下3 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...