主頁 > 後端開發 > JavaScript基礎知識學習總結篇(每個知識點都附帶上機的例子,而不是純理論) 上,當前字數統計:12435

JavaScript基礎知識學習總結篇(每個知識點都附帶上機的例子,而不是純理論) 上,當前字數統計:12435

2020-11-09 16:57:24 後端開發

JavaScript基礎知識(上)

知識體系結構如下:
【1】 JavaScript概述
【2】 HTML嵌入JavaScript代碼方式
【3】 JavaScript的識別符號
【4】 HTML的變數
【5】 JavaScript的函式
【6】 JavaScript的資料型別
【7】 null undefined NaN 的區別
【8】 JS的常用事件
【9】 JS回呼函式的概念
【10】 JS注冊事件的兩種方式
【11】 JS代碼的執行順序
【12】 JS捕捉回車鍵
【13】 void運算子
【14】 JS的控制陳述句
【15】 設定和獲取文本框的value
【16】 innerHTML 和innerText
【17】 JS正則運算式
【18】 表單驗證

1.JavaScript概述
JavaScript(簡稱“JS”) 是一種具有函式優先的輕量級,解釋型或即時編譯型的高級編程語言,雖然它是作為開發Web頁面的腳本語言而出名的,但是它也被用到了很多非瀏覽器環境中,JavaScript 基于原型編程、多范式的動態腳本語言,并且支持面向物件、命令式和宣告式(如函式式編程)風格,
JavaScript在1995年由Netscape公司的Brendan Eich,在網景導航者瀏覽器上首次設計實作而成,因為Netscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript,但實際上它的語法風格與Self及Scheme較為接近,
JavaScript的標準是ECMAScript ,截至 2012 年,所有瀏覽器都完整的支持ECMAScript 5.1,舊版本的瀏覽器至少支持ECMAScript 3 標準,2015年6月17日,ECMA國際組織發布了ECMAScript的第六版,該版本正式名稱為 ECMAScript 2015,但通常被稱為ECMAScript 6 或者ES6,(源于百度百科),

那么JavaScript 到底有什么用?
》JavaScript能夠改變HTML內容
》JavaScript能夠改變HTML屬性
》JavaScript能夠改變HTML樣式(CSS)
》JavaScript 能夠顯示HTML元素
可能光定義不能夠讓人理解透徹,下面的學習,會帶有例子,等學完例題之后再回過頭來,就會恍然大悟了,各個部分的講解, 不能光看,要學習自己給自己出題,來驗證這個知識點正確與否,如果說只看而不屑用手,那么這樣會忘的更快,

2.HTML嵌入JavaScript代碼方式
一共有三種方式,和CSS類似,溫馨提示:學習JavaScript的小伙伴,一定要先有HTML和CSS基礎哦~學習要循序漸進,而不是一步登天,

<!DOCTYPE html>
<hmtl>
	<head>
		<meta charset="utf-8">
		<title>html中嵌入JS代碼的第一種方式</title>
	</head>
	<body>
		<!--
			1.要實作的功能
				用戶點擊以下按鈕,彈出訊息框
			2.JS是一門事件驅動型的編程語言,依靠事件去驅動,然后執行對應的程式,
			在JS中有很多事件,其中有一個事件叫做: 滑鼠單擊 click,并且任何事件
			都會對應一個事件句柄叫做:onclick,【注意:事件和事件句柄的區別是:
			事件句柄是在事件單詞添加一個on,】而事件句柄是以html標簽的屬性存在的
			3.使用JS代碼彈出訊息框:
				在JS中有一個內置物件叫做window,全部小寫,window代表瀏覽器物件
				window物件有一個函式叫做:alert 用法是window.alert("訊息"):這樣就可以彈窗了
			4.JS中的字串可以使用的雙引號,也可以使用單引號,
			5.JS中的一條陳述句結束之后可以使用分號 也可以不使用,	
		-->
		<!--window.可以省略不寫-->
			<input type="button" value="hello" onclick="window.alert('你好~我的朋友')">
			
	</body>	
</hmtl>
<!DOCTYPE html>
<hmtl>
	<head>
		<meta charset="utf-8">
		<title>html中嵌入JS代碼的第二種方式</title>
		<!--
			JS的腳本塊在一個頁面當中可以出現多次,沒有要求,
			JS的腳本塊出現位置也沒有要求,隨意,
		-->
		<script type="text/javascript">
			/*
				暴露在腳本塊中的程式,在頁面打開的時候執行,
				并且遵守自上而下的順序依次逐行執行,(這個代碼的執行
				不需要事件)
			*/
			window.alert("hello world");	//alert函式會阻塞整個頁面的加載,
			
			//JS代碼注釋和Java一樣,
			window.alert("java");
		</script>
	</head>
	
	<body>
		
		
		<style type="text/css">
			/*
				css代碼塊
			*/
		</style>
		
		<!--第二種方式:腳本塊的方式 
		-->
			<input type="button" value="按鈕" />
	</body>	
</hmtl>

<!--
	/**
	 * javadoc 注釋:這里的注釋資訊會被javadoc.exe工具決議生成幫助檔案,
	 */
-->
<!DOCTYPE html>
<hmtl>
	<head>
		<meta charset="utf-8">
		<title>html中嵌入JS代碼的第三種方式</title>
	</head>
	<body>
		<!--
				引入獨立的js檔案
		-->
		<!--在需要的位置引入js腳本檔案-->
		<!--引入外部獨立的js檔案的時候,js檔案中的內容,會遵循自上而下的方式依次逐行執行-->
		<script type="text/javascript" src="XXX.js"></script>
	</body>	
</hmtl>

3.JavaScript的識別符號
識別符號,就是指變數、函式、屬性的名字,或者函式的引數,(這句話說白了就是能夠自己命名的,都是識別符號,)
命名規則

》第一個字符必須是一個字母、下劃線或是美元符號($)

》其他字符可以是字母、下劃線、美元符號或數字

》關鍵字和保留字不能作為識別符號

》注意區分大小寫

》駝峰命名 :例如 userName

4.HTML的變數
弱型別語言的定義變數方式,相比強型別(c .java)來說簡直不要太隨意,萬物皆可var ,

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>關于JS中的變數</title>
	</head>
	<body>
			<script type="text/javascript">
					/*
						1.回顧Java中怎么定義/宣告變數
						資料型別 變數名:
							例如:
								int i;
						2.Java中的變數怎么賦值
						使“=”運算子進行賦值運算  等號右邊先執行,然后再賦值給左邊		
						例如:
							i =10;
						3.java 是一種強型別語言,
						強型別怎么理解?
							Java語言存在編譯階段,,假設有代碼:int i;
							這個變數i ,從編譯型別最終到記憶體釋放,一直都是int型別,不可能再變成其他型別,
							byte short int long float double boolean char
							12484812
						javascript當中的變數
								怎么宣告變數?
									var 變數名;
								怎么給變數賦值?
									變數名=值;
								javascript是一種弱型別語言,沒有編譯階段,一個變數可以隨意賦值,賦什么型別的值都行,		
								var i=100;
								i=false;
								i="abc";
								i=new Object();
								i=3.14;
					*/
					var i;	//沒有賦值  undefined(JS中存在的是一個具體值)  兩個undefined相加 =NAN (not a  number 也是一個具體的值)
					alert(i);  
					alert(undefined);
			
					//一個變數沒有宣告/定義 直接訪問
					//alert(k);	//語法錯誤  不能這樣寫
					
					var a,b,c=200;
					alert(a);
					alert(b);
					alert(c);
			
			</script>		
	</body>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JS的區域變數和全域變數</title>
	</head>
	<body>
		<script type="text/javascript">
				/*
					全域變數:
						在函式體之外的宣告變數屬于全域變數,全域變數的宣告周期是:
							瀏覽器打開時宣告,瀏覽器關閉時銷毀,盡量少用,因為全域變數
							會一直在瀏覽器的記憶體當中,耗費記憶體空間
							能使用區域變數盡量使用區域變數,
					區域變數:
						在函式體當中宣告的變數,包括一個函式的形參都屬于區域變數,
						區域變數的宣告周期是:函式開始執行時區域變數的記憶體空間開辟,函式執行結束之后,區域變數的記憶體空間釋放,
						區域變數宣告周期較短,
				*/
			   
			   var userName ="lisi";
			
				function name(){
					var userName ="zhangsan";
					alert(userName);
				}	
				name();
			   alert(userName);
		</script>
	
	</body>
</html>

5.JS的函式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JS函式初步</title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				1.JS中的函式,等同于java語言中的方法,函式也是一段可以被重復利用的代碼片段
				函式一般都是可以完成某個特定功能的
				2.回顧Java中的方法
					【修飾符串列】回傳值型別 方法名(形式引數串列){
							方法體;
					}
				例如:
					public static boolean login(String userName ,String password){
						...
						return true;
					}
				3.JS中的變數是一種弱型別,那么函式應該怎么定義呢?
					語法格式;
						第一種方式:
							function 函式名(形式引數串列){
								函式體;
							}			
						第二種方式:
							函式名=function(形式引數串列){
								函式體;
							}
						JS中的函式不需要指定回傳值型別,回傳什么型別都行,
				4.JS函式可以多載嗎
					JS中函式在呼叫時,引數型別沒有限制,引數個數沒有限制
					JS函式中,兩個同名函式,后一個會將上一個函式覆寫,
			*/
				function sum(a,b){
					//a和b都是區域變數,她們都是形參(變數名隨意)
					alert(a+b);
				}
				//函式必須呼叫才能執行
				//sum(10,20);
				
				sayHello=function(username){
					alert("hello"+username);
				}
				//sayHello("張三");
		</script>
				<input type="button" value="hello" onclick="sayHello('杰克');" />
	
	
	
	</body>
</html>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body >
		
		
			<script type="text/javascript">
			window.onload =function(){
				var b=document.getElementById("btn");
				b.onclick =function(){
					alert("Hello ");
				}
			}
	
			</script>
		

		<input type="button" value="你好" id="btn" />
		
	</body>
</html>

6.JavaScript的資料型別
資料型別,是我在學校機房做的,所以例子…,大家上網搜一搜資料型別的例子,要善于自己給自己出題,自己給自己找題哦

基本資料型別(原始型別):String、Number、Null、Undefined、Boolean
參考型別:Object

7.null undefined NaN 的區別

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>null 和undefined NaN 有什么區別?</title>
	</head>
	<body>
			<script type="text/javascript">
				alert(typeof null);		//"object"
				alert(typeof NaN);		//"number"
				alert(typeof undefined);	//"undefined"
				
				//雙等號 等同	
				alert(NaN== null);		//false
				alert(null== undefined);	//true
				alert(undefined==NaN) ;		//false
				
				//三等號 資料型別和值都相同
				//在JS當中有兩個比較特殊的運算子
				alert(null===NaN);		//false
				alert(null===undefined);	//false
				alert(undefined===NaN);		//false
				
					
			
					
			</script>
	</body>
</html>

  1. JS的常用事件
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JS中的常用事件</title>
	</head>
	<body>
		<input type="button" value="你好" onclick="sayHello()" />
		<input type="button" value="我也好" id ="good"/>
		<script type="text/javascript">
			/*
				(1)blur 失去焦點
				(2)change下拉串列選中項改變,或文本框內容改變
				(3)click 滑鼠單擊
				(4)dbclick	滑鼠雙擊
				(5)focus 獲得焦點
				(6)keydown鍵盤按下
				(7)keyup鍵盤彈起
				(8)load頁面加載完畢
				(9)mousedown滑鼠按下
				(10)mouseover滑鼠經過
				(11)mousemove滑鼠移動
				(12)mouseout滑鼠離開
				(13)mouseup滑鼠彈起
				(14)reset 表單重置
				(15)select 文本被選定
				(16)submit 表單提交
				
				任何一個事件都會對應一個事件句柄,在事件前加on
				事件句柄以屬性的形式存在,
			*/
			
			function sayHello(){
				alert("hello");
			}
			function good(){
				alert("very good !");
			}
			
			
			var bu = document.getElementById("good");
			bu.onclick =good;	// 呼叫good() 是錯誤寫法
			
		</script>
		
		
	</body>
</html>

  1. JS回呼函式的概念
    注意一點:自己把函式代碼寫出來,由其他程式員去呼叫該函式,
	Java中也有回呼函式機制,
	public class MyClass{
		public static void main(String[] args){
			//主動呼叫run()方法,站在這個角度run()正向呼叫
			run();
		}
		//站在run方法這個角度,把run方法叫做回呼函式,
		public static void run(){
			System.out.println("run...");
		}
	}
  1. JS注冊事件的兩種方式

  2. JS代碼的執行順序
    由上到下,順序執行,
    這個我就不寫例子了,我想由小伙伴們親身去實踐感受以下,給一些提示資訊:放置一個按鈕,在插入一個script代碼塊,按鈕的點擊事件句柄,先是按鈕在代碼塊的下面,執行看看效果,然后在反過來,注意差別,

  3. JS捕捉回車鍵

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JS代碼捕捉回車鍵</title>
	</head>
	<body>
		<script type="text/javascript">
			window.onload =function(){
				var password =document.getElementById("password");
				password.onkeydown =function(event){
					//獲取鍵值 回車:13 esc :27
					//event 會接收一個事件物件
					if(event.keyCode==13){
						alert("登錄成功");
					}
				}
			}
			
		</script>
		
		<input type="text" id="password" />
		
	</body>
</html>

  1. void運算子
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		
		<a href="javascript:void(0)"> 這是一個不跳轉也頁面的超鏈接</a>	
			<!--這里注意 呼叫函式需要指定方式 javascript:-->
	</body>
</html>

  1. JS的控制陳述句
    和Java c等一樣

    if switch while   for break continue 
    
  2. 設定和獲取文本框的value
    每個標簽可以設定的屬性X,都可以 “.XXX”來使用,和Java類中屬性類似,

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>設定和獲取文本框的value</title>
	</head>
	<body>
		<script type="text/javascript">
			window.onload =function(){
				document.getElementById("btn").onclick =function(){
					//alert("111"); 寫完按鈕的事件句柄先 除錯一下,確定沒問題在往下繼續進行,運行時記得F12哦~ 
				var t =document.getElementById("txt"); //拿到標簽物件
					alert(t.value); //標簽的value
				} 		
			}
		</script>
		<input type="text" id="txt" /> 文本框
		<input type="button" id ="btn" value="點我獲取文本框的value" /> 
	</body>
</html>

  1. innerHTML 和innerText
    innerHTML 中可以寫HTML代碼
    innerText 中寫HTMl代碼會被當作普通的字串文本,并不會被執行,
    (innerText例子由小伙伴自行完成)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>點擊按鈕 ,在DIV中顯示內容</title>
	</head>
	<body>
		<style type="text/css">
			#div1{
				width: 300px;
				height: 350px;
				background-color: aqua;
				position: absolute;
				top: 100px;
				left: 100px;
				border: 1px black solid;
			}	
				
		</style>
	
		<script type="text/javascript">
			window.onload =function(){
				var b = document.getElementById("btn");
				b.onclick =function(){
					//點擊按鈕 ,在div 中輸出hello world 
					var d= document.getElementById("div1");
					d.innerHTML="<center><font>hello&nbsp;&nbsp;world</font><center>";
					
				}
			}
		</script>
		
		<input type="button" value="更改div" id="btn" />
		<div id="div1"></div>
		
	</body>
</html>

  1. JS正則運算式
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>正則運算式</title>
	</head>
	<body >
		<script type="text/javascript">
			
			/*
			1.什么是正則運算式?有什么用?
				正則運算式:Regular Expression
				正則運算式主要用在字串匹配方面
				
			2.正則運算式實際上是一門獨立的學科,在Java語言中支持,c語言中也支持,JS中也支持,
				大部分編程語言都支持正則運算式,最初使用在醫學方面,用來表示神經符號,目前使用最多的是計算機編程領域,
				用作字串匹配,包括搜索方面,
				
			3.正則運算式需要掌握到什么程度?
				第一,常見的正則運算式要認識
				第二,簡單的正則要會寫
				第三,他人撰寫的正則運算式要認識,
				第四,在Js中怎么創建正則
				第五,在Js中,正則運算式物件有哪些方法?
				第六:能夠快速的從網路上找到自己需要的正則運算式,并且測驗其有效性,
			
			4.常見的正則運算式符號
			. 匹配除換行符以外的任意字符
			\w 匹配字母或者數字或者下劃線或者漢字
			\s匹配任意的空白字符
			\d匹配單詞的開始或結束
			^ 匹配字串的開始
			$ 匹配字串的結束,
				
			*重復零次或更多次
			+重復一次或更多次
			?重復零次或一次
			{n} 重復n次
			{n,} 重復n次或者更多次
			{n,m} 重復n到m次 
				
			\大寫字母 (否定)
			[^x]
			{^aeiou} 	
				
			5.會查找正則運算式,			
			
			6.怎么創建正則運算式物件,怎么呼叫方法?
			第一種方式:
				var r =/正則運算式/flags;
			第二種方式:(使用內置支持類)
				var r =new RegExp("正則運算式","flags");
				
				關于flags :
					g:全域變數
					i:忽略大小寫
					m:多行搜索,前面是正則運算式時,m不能使用,只是前面是普通字串的時候,m可以使用,
			
			正則運算式的test()方法
				true/false =正則運算式物件.test(用戶的字串).
			*/
		</script>
	</body>
</html>
  1. 表單驗證
    表單驗證要求:
    1、用戶名不能為空
    2、用戶名必須在6-14位之間
    3、用戶名智能由數字和字母組成,不能含有其他符號
    4、密碼和確認密碼一致,郵箱地址合法
    5、用以失去焦點驗證
    6、錯誤提示資訊統一在span標簽中提示,并且要求字體12號,紅色
    7、文本框再次獲得焦點后,清空錯誤提示資訊,如果文本框中的資料不合法要求清空文本框的 value
    8、最終表單中所有項均合法方可提交,

    注意: 閱讀下面這段話
    我希望小伙伴這道題先自己想想,從需要幾個標簽出發,每個標簽系結什么事件,到實作滿足題意要求 的代碼,實在做不出來的小伙伴也不要著急,我會在最后給出這道題的答案,但還是要求小伙伴,參考借鑒,而不是的復制 粘貼 運行 大功告成! 這樣不是學習,得不到自己能力的進步,

<!DOCTYPE html>
<hmtl>
	<head>
		<meta charset="utf-8">
		<title>表單驗證</title>
	</head>
	<body>
		
		
		
		
<!--
	表單驗證:
		1、用戶名不能為空
		2、用戶名必須在6-14位之間
		3、用戶名只能由數字和字母組成,不能含有其他符號
		4、密碼和確認密碼一致,郵箱地址合法
		5、用以失去焦點驗證
		6、錯誤提示資訊統一在span標簽中提示,并且要求字體12號,紅色
		7、文本框再次獲得焦點后,清空錯誤提示資訊,如果文本框中的資料不合法要求清空文本框的value
		8、最終表單中所有項均合法方可提交,	
-->

	<!--考慮這里用span 還是div -->
	<style type="text/css">
		span{
			font-size: 12px;
			color: red;
		}
	</style>
	<!--哈哈哈,當然是span 了 div 獨占一行哦 回答正確了嗎?-->


	<script type="text/javascript">
		window.onload =function(){
			
			//用戶名部分
			
			//拿到用戶名
			var name =document.getElementById("userName");
			//拿到span標簽
			var userSpan =document.getElementById("nameError");
			//用戶名失去焦點
			name.onblur =function(){
				/*
					這里的alert(111)沒有什么實際作用
					但是還要告訴小伙伴們 好程式不是一步登天的,寫點,確定之前的代碼沒問題,在逐步往下進行,
				*/
				//alert(111);
			
				//拿到用戶名
				var username =name.value;

				//去空
				username=username.trim();
				//判斷用戶名是否為空 三種方式看個人喜好怎么寫 ,沒有人會死規定代碼的
				// if(username){
				// 	//不是空
				// 	alert("666");
				// }else{
				// 	//是空
				// 	 userSpan.innerText="用戶名不能為空";
				// }
				//或者 if(username.length==0)
				//或者 if(username=="")
				
				//感徑訓是這種舒服
				if(username.length==0){
					userSpan.innerText="用戶名不能為空";
				}else{
					判斷長度
					if(username.length<6||username.length>14){
						//不合法
						userSpan.innerText="長度不合法";
					}else{
						//合法
						//繼續判斷是否含有特殊符號 正則運算式
						var reg =/^[A-Za-z0-9]+$/;
						var ok=reg.test(username);
						if(ok){
							//最終合法
							userSpan.innerText="?";
						}else{
							//含有特殊符號
							userSpan.innerText="含有特殊字符";
						}
					}
				}
			}
			//獲得焦點
			name.onfocus =function(){
				//清空非法的value
				if(userSpan.innerText!=""&&userSpan.innerText!="?"){
					name.value="";
				}
				//清空
				userSpan.innerText="";
			}
			
			//密碼部分
			
			//拿到確認密碼
			var agin=document.getElementById("pwdAgin");
			var pwdspan =document.getElementById("pwdError");
			agin.onblur =function(){
				//拿到密碼物件
				var pwd =document.getElementById("password");
				var pwdvalue=pwd.value;
				var aginvalue =agin.value;
				if(pwdvalue!=aginvalue){
					//兩次密碼不一致
						pwdspan.innerText="兩次密碼不一致";
				}else{
					//兩次密碼一致
					if(aginvalue!=""){
						pwdspan.innerText="?";
					}
				}
			}
			
			//獲得焦點
			agin.onfocus =function(){
				//清空非法的value
				if(pwdspan.innerText!=""&&pwdspan.innerText!="?"){
					agin.value="";
				}
				//清空
				pwdspan.innerText="";
			}
			
			//email部分
			var emailElt =document.getElementById("email");
			var emailspan =document.getElementById("emailError");
			
			emailElt.onblur =function(){
				//獲取email的value
				var email =emailElt.value;
			
				//判斷郵箱地址是否合法
				var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; 
				var ok =reg.test(email);
					//由于我的正則表達不熟練,大家注意 不要加雙引號 !!!!
					//物件不支持“test”屬性或方法
				if(ok){
					//合法	zhangsan@163.com
					emailspan.innerText="?";
				}else{
					//不合法	
					emailspan.innerText="郵箱地址不合法";
				}
			}
			
			//獲得焦點
			emailElt.onfocus =function(){
				if(emailspan.innerText!=""&&emailspan.innerText!="?"){
					 emailElt.value="";		
				}
				//清空
				emailspan.innerText="";
			}
			
			
			//提交
			var btn =document.getElementById("sub");
			btn.onclick =function(){
				
				//觸發上面的內容
				name.focus();
				name.blur();
				
				emailElt.focus();
				emailElt.blur();
			
				//可以提交
				if(userSpan.innerText=="?"&&pwdspan.innerText=="?"&&emailspan.innerText=="?"){
					//獲取表單物件
					var form =document.getElementById("userform");
					//提交
					form.submit();
					
				}else{
					alert("含有不合法內容,無法提交");	
				}
				
		
				
			}
		}
	</script>


	<!--實際應該用post 但是只是為了練習,所以寫成get-->
	<!--
		有心的小伙伴 可以利用學過的HTML CSS 知識 把界面優化的美觀 一個小小的表格,讓標簽對齊也算是一種優化,
	-->
	<form id="userform" method="get" action="success.html">
		用戶名<input type="text" name="userName" id ="userName" /><span id="nameError"></span><br />
		密碼<input type="password" name="password" id="password" /><br />
		確認密碼<input type="password" name="pwdAgin" id="pwdAgin" /><span id="pwdError"></span><br />
		郵箱<input type="text" name="email" id ="email" /><span id="emailError"></span><br />
		<input type="button" value="提交" id ="sub"/>
	</form>
		
	</body>	
</hmtl>

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/208101.html

標籤:java

上一篇:基于matlab的控制系統與仿真-5

下一篇:變數的宣告提前和函式的宣告提前 全域作用域和函式作用域的定義和釋義

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more