Python全棧Web(JavaScript函式、陣列)

巴黎香榭發表於2018-09-11
迴圈:
for迴圈  簡化版while迴圈
語法:
for(表示式1;表示式2;表示式3) {
迴圈體
}
表示式1:迴圈條件初始化
表示式2:迴圈終止條件
表示式3:更新迴圈條件
流程:
1.先執行表示式1  宣告條件 並且自走一次
2.表示式2 與迴圈條件的boolean值
3.進行迴圈操作
4.表示式3 更新迴圈條件 返回判斷表示式2
for 和 while對比:
相同:
先判斷條件然後在進行迴圈操作
不同:
while:優先使用在不確定迴圈次數的場合下
for:優先使用在已知迴圈次數的條件下 通常用來遍歷資料結構
迴圈的巢狀:
允許一個迴圈內部再出現一個迴圈
for(var i = 0; i <= 10; i++){
for(var x = 0; x <= 10; x++){
迴圈體
}
}
外層迴圈走以次內層迴圈走一輪
函式:
function 是一段被定義好並且可以獨立反覆執行
幷包含多條執行語句的程式碼塊
在JS中建立函式:
function 函式名 (引數){
函式體
[返回值] //[] 代表可省略
}
引數列表;
如果沒有引數為空 有則用逗號隔開多個引數
呼叫時有引數沒有傳參的引數值為undefined
返回值:
在函式體內經過運算後 返回給函式呼叫者的值
有返回值需要用 return進行返回 但是隻能返回一個值
函式的呼叫:
在任意能寫JS程式碼的地方 都可以呼叫函式
有引數 傳遞引數  否則引數列表為空
有返回值可以用變數接收 沒有則返回 undefined

匿名函式:
匿名函式是一個沒有名稱的函式 該類函式會針對某一個
功能而存在  不能獨立宣告
語法:
function (引數列表){
函式體
}
window.onload = function(){
console.log(“hello world!”);
}
網頁載入的時所執行的內容都可以放在window.onload裡
變數的作用域:
什麼是變數的作用域?
指的是變數的可訪問範圍
js的作用域:
區域性變數
使用var關鍵字宣告在函式內的變數 就是區域性變數
只能在函式內使用
全域性變數
在function外宣告的變數都是全域性變數
宣告變數只要不使用var關鍵字申明的變數都是全域性變數
全域性變數可以在任意函式內使用
儘量所有的變數都使用var關鍵字宣告
變數的宣告提前:
在JS中使用var關鍵字宣告的變數在程式執行之前
都會被預讀到所在作用域的頂端 但是賦值還會保留在原位
在變數賦值之前呼叫 不會報錯 值為undefined
陣列 – Array:
什麼是陣列?
以一種用於儲存批量資料的資料結構
陣列是按照線性結構來儲存資料的
除第一元素外每一個元素都有一個“前驅元素”
除最後一個元素外每一個元素都有一個“後驅元素”
建立陣列:
陣列直接量建立:
var 陣列名 = [];
var 陣列名 = [1, 2, 3, “a”, “b”];
建構函式建立:
var 陣列名 = new Array();
var 陣列名 = new Array(1, 2, 3, “a”, “b”);
*var 陣列名 = new Array(5);  //預設5個 undefined值  下標從5開始
陣列的使用;
獲取或設定陣列的元素值 一律使用陣列的下標 範圍: 0 ~ arr1.length – 1
var arr1 = [1, 2, 3, 4, 5];
索引:
arr1[3]     // 4;
索引超出範圍是不會報錯的 返回值為:undefined
索引賦值:
arr1[3] = 9 // [1, 2, 3, 9, 5]
賦值也可以超出範圍 在已有的最後一個元素和
超出範圍元素之間的所有元素都為 empty
如果進行索引取值 結果都為:undefined
獲取陣列的長度:
屬性:
length
用法:
陣列名.length
使用場合:
1.可以向陣列的尾部插入元素
2.陣列的長度
3.配合迴圈遍歷陣列中的每個元素
for (var i = 0; i < arr1.length; i++){
console.log(arr1[i])
}
在控制檯中列印以下圖形
    *      4個空格1個* 
   ***     3個空格3個*
  *****    2個空格5個*
*******   1個空格7個*
*********  0個空格9個*
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
	<script type="text/javascript">
		var line = 5;
		for (var i = 1; i <= line; i++){
			var msg = "";
			for (var j = 1; j <= line - i; j++){
				msg += " ";
			}
			for (var k = 1; k <= i * 2 -1; k++){
				if (k == 1 || k == i * 2 - 1){
					msg += "*";
				} else {
					msg += " ";
				}

			}
			console.log(msg);
		}

		for (var i = 1; i <= line; i++){
			var msg = "";
			for (var j = 1; j <= i; j++){
				msg += " ";
			}
			for (var k = 1; k <= (line - i) * 2 -1; k++){
				if (k == 1 || k == (line -i) * 2 -1){
					msg += "*";
				} else {
					msg += " ";
				}
			}
			console.log(msg)
		}
	</script>
</head>
<body>

</body>
</html>


相關文章