Python全栈 Web(JavaScript 函数、数组)

151 阅读4分钟
原文链接: click.aliyun.com
循环: 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>