Python全棧 Web(JavaScript 數組、string、正則、Math、Date)


數組:
常用的API:
toString()
將數組轉換爲字符串  默認是將數組的元素
使用逗號隔開 鏈接成字符串在進行返回
join(seperator)
將數組的元素使用seperator字符串作爲分隔符
鏈接成字符串再進行返回
reverse()
將數組進行反轉  該函數會改變現有數組的結構 不需要接受返回值
sort()
對數組的元素進行排序  默認按照Unicode碼進行排序 對數字不準確
會改變原有數組的內容
特點:
允許自定義的排序規則(排序函數)用來指定數組的排序方式
語法:
arr.sort(排序函數);
排序函數:
升序的排序函數:
function sortAsc(a, b){
return a - b;
}
arr.sort(sortAsc);
匿名函數實現:
arr.sort(function(a, b){
return a - b;
})
降序排序:
排序後 reverse()
return b - a;
原理:(冒泡排序)
function sortAsc(a, b){
通過返回值表示 a和b 的大小關係
返回值:
正數:表示 a > b 交換兩個數字的位置
零:表示   a = b 數字不動
負數:表示 a < b 數字不動
}
調用時只需將函數名傳參給sort函數 內部自動實現調用 
  每次去兩個元素的值進行比較 決定元素的位置是否交換

                          


進出棧操作:
push()
入棧/壓棧  向數組的尾部添加新的元素 並返回新數組的長度
等同於 :arr[arr.length] = "";
pop()
出棧/彈棧  刪除數組中的最後一個內容 並返回刪除的內容
unshift()
向數組頭部添加一個新的元素並返回數組的長度
shift()
刪除數組頭部元素並返回刪除的元素
二維數組:
聲明二維數組:
var names = [
[1, 2, 3, 4, 5, 6, 7]
["a", "b", "c", "d", "f"]
]
獲取 "b":
var sub_name = names[1];
var name = sub_name[1];
var name = names[1][1];
字符串-string:
聲明字符串:
var str = "字符串";
var str = String("字符串");
var str = new String("字符串");
length 屬性:
返回字符串的長度
String的API方法:
1.大小寫轉換函數:
toUpperCase()
返回完全大寫
toLowerCase()
返回完全小寫
2.去掉字符串兩端的空格:
trim()
該方法不會改變現有字符串 是將去掉字符串後的內容進行返回
3.獲取指定位置的字符:
charAt(index)
獲取指定位置的字符
charCodeAt()
獲取指定字符的Unicode碼:
4.檢索字符串:
indexOf(value, fromIndex)
value:
要查找的子字符串
fromIndex:
開始查找的位置  省略,默認重頭開始
返回值:
返回字符串第一次出現字符的下標 如果沒有查詢 返回-1
lastIndexOf(value, fromIndex)
查找value最後一次出現的位置 查找方式是從後往前找第一次出現的
5.截取子字符串:
substring(start, end)
返回從start到end-1之間的字符串  如果省略則截取整個字符串 
6.分隔字符串:
split(seperator)
將具備特殊鏈接的字符串拆成字符串數組
7.模式匹配:
作用:
配合子字符串 和 正則表達式完成 字符串的查找、替換
正則:
語法:
/正則表達式/修飾符
修飾符:
i: ignorecase(忽略大小寫)
g: global(全局匹配)
m: multiple(允許多行匹配)
函數:
relplace(substr/regexp, rep, acement)
字符串中 將substr或滿足regexp格式的字符串替換成replacement
match(substr/regexp)
按照指定的字符串或正則表達式進行比配  
並返回滿足格式的字符串的個數

RegExp對象:
創建RegExp對象:
var reg = /正則表達式/裝飾符;
var reg = new RegExp("匹配模式", "裝飾符");
裝飾符可以省略
RegExxp常用方法:
test(string)
string:要驗證的字符串
如果reg能夠匹配到string的話就返回True 否則返回False
Math對象:
屬性:
Math.PI
Math.E
方法:
三角函數:
Math.sin()
Math.cos()
Math.tan()
計算函數:
Math.sqrt() 開平方
Math.log() 求對數
Math.pow(x, y) 求x的y次方
數值函數:
Math.abs(x) 絕對值
Math.max(a, b, c)求最大
Math.min(a, b, c)求最小
Math.random() 隨機數(0~1)
Math.round(x) 將x四捨五入
Date對象:
獲取客戶端日期時間
創建Date對象:
獲取當前日期對象
var date = new Date();
初始化自定義時間對象:
var date = new Date("2018-9-12 12:00:00");
方法:
讀取或設置當前的毫秒數
getTime()
返回自1970年1月1日 到當前時間的毫秒數
setTime()
根據毫秒數計算日期時間
讀取時間分量:
getFulYear()
獲取當前時間對象的年份
getYear()
返回1900年以來到當前進過多少年
getMonth()
返回0~11的數字來表示1~12月 手動+1
getDate()
返回date對象對應的日
getDay()
返回0~6 表示星期幾
獲取時間:
getHours() 獲取小時
getMinutes() 獲取分鐘
getSeconds() 獲取秒
getMilliseconds() 獲取毫秒
將日期時間轉換爲字符串
toString()
toLocaleString()
將日期對象轉換爲本地時間字符串
toLocaleTimeString()
轉換爲本地時間字符串(時分秒)
toLocaleTDateString()
轉換爲本地時間字符串(年月日)


1.隨意從彈框中錄入一個數字
2.將該數字轉換爲二進制,並輸出


<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		var num = Number(prompt());
		var s = [];
		while (true){
			var x = num % 2;
			s[s.length] = x;
			num = num / 2 | 0;
			if (num == 0){
				break;
			}
		} 
		s.reverse()
		console.log(num, "轉換爲二進制爲: " + s.join(" "))
	</script>
</head>
<body>

</body>
</html>

3.從身份證號中提取生日
220101199912056621
生日:1999年12月05日



<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		function getBrith(){
			var brith = prompt();
			var birthday = brith.substring(6, 14);
			var year = birthday.substring(0, 4);
			var manth = birthday.substring(4, 6);
			var day = birthday.substring(6, 8);
			alert(year + "年" + manth + "月" + day + "日");
		}
	</script>
</head>
<body>
	<button onclick="getBrith()">生日</button>
</body>
</html>

var str = "1001_5&1002_4&1053_1";
                將字符串解析爲如下格式
商品ID:1001
購買數量:5
商品ID:1002
購買數量:4
商品ID:1053
購買數量:1

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		var str = "1001_5&1002_3&1003_6";
		var commodity = str.split("&");
		for (var i = 0; i < commodity.length; i++){
			var list = commodity[i].split("_");
			console.log("商品ID:", list[0]);
			console.log("商品數量:", list[1]);
		}
	</script>
</head>
<body>

</body>
</html>

模擬驗證碼的生成和驗證
 1.創建一個數組,初始化若干數據(英文大小寫,數字) 
 2.生成一個四位的隨機驗證碼 驗證碼需要從數組中獲取 Math.random() : 生成一個0-1(取不到)之間的隨機小數 
 3.將隨機生成的驗證碼字符串通過prompt()展示給用戶
 4.比較用戶輸入的字符與生成的驗證碼是否一致並給出提示 (忽略大小寫)


<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		function generalCode(len){
			var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, "A", "B", "c", "d", "W", "F", "S", "x", "Z", "#", "$", "!", "*", "@", "&", "k", "g", "j"];
			var Code = "";
			for (var i = 0; i < len; i++){
				var str = arr[Math.random() * arr.length | 0]
				Code += str;
			}
			return Code;
		}
		function validateCode(){
			var Code = generalCode(6);
			var input = prompt("驗證碼爲:  " + Code)
			if (input.toLowerCase() == Code.toLowerCase()){
				alert("輸入正確")
			} else {
				alert("輸入錯誤")
			}
		}
	</script>
</head>
<body>
	<button onclick="validateCode()">驗證碼</button>
</body>
</html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章