day46homework常量字符串拼接结构赋值扩展运算符for-of循环map函数默认值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day46homework常量字符串拼接结构赋值扩展运算符for-of循环map函数默认值相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>01定义常量.html</title>
	<!--常量-->
	<script>
		//常量:1.一旦定义 不能更改
		const PI = 3.14; 
		// console.log(PI);
		// PI = 3.1415; error 

		// error: 2.必须赋初始值
		// const PI1;
		// PI1 = 3.1415926;
		// console.log(PI1);
	</script>
	
	<!--字符串拼接-->
	<script>
		
		// 用 +  拼接
		var name = "zhang";
		var msg = "hello " + name;
		console.log(msg);
		
		var name1 = "zhang";
		var msg1 = `hello ${name1}`; //${name} 
		console.log(msg1);
	</script>
	
	<!--结构赋值-->
	<script>
        	/*
        		var a = 1;
        		var b = 2;
        		var c = 3;
        		console.log(a,b,c);
        	*/
        
        	//数组赋值
        	var [a,b,c] = [11,22,33];
        	console.log(a,b,c);
        
        	var [a,[b,c],d] = [1,[2,3],4];
        	console.log(a,b,c,d);
        
        	//json 赋值
        	var {a,b,c} = {a:1,c:2,b:3};
        	console.log(a,b,c);
        
        	//结构赋值 等号两边的结构要相同
        	var [a,{b,c},d] = [1,{c:3,b:2},4];
        	console.log(a,b,c,d);
        	/*
        	var {a = 10, b = 20};
        	console.log(a,b); //error 
        	*/
        	var {a = 100,b = 200} = {};
        	console.log(a,b); // 输出结果 100 200
        	var {a = 100,b = 200} = {a:111,b:222};
        	console.log(a,b); // 输出结果 111 222
	</script>
	
	<!--扩展运算符-->
	<script>
		var arr1 = [1,2,3,4,5];
		
		1 数组赋值(error)
		var arr2 = arr1; //将arr1的地址赋给了arr2 操作arr2影响arr1
		arr2.pop();
		
		
		
		1
		var arr2 = [];
		for(var i = 0; i < arr1.length; i++){
			arr2.push(arr1[i]);
		}
		

		// 2.
		
		var arr2 = [...arr1];
		arr2.pop();

		console.log(arr1);
		console.log(arr2);
		
		
		function show(x,y){
			console.log(arguments); //arguments不是数组 不能用数组的方法
			// arguments.pop();
		}
		// show(1,2);
		
		//2. 函数定义时使用扩展运算符,把参数保存在一个数组里面
		function show1(...mgs){
			// console.log(mgs);  
			mgs.push(33); //mgs是数组
			console.log(mgs);
			console.log(mgs[0],mgs[1],mgs[2]);
		}
		// show1(11,22);

		//3. 调用时,通过扩展运算符将数组里的值变成参数列表
		var argu = [11,22];
		show(...argu);
	</script>
	
	<!--for of 循环-->
	<script>
		var arr1 = [11,22,33,44,55];
		for(i in arr1){
			// console.log(i); // 0 1 2 3 4 i是数组的下标
			// console.log(arr1[i]); // 11 22 33 44 55  数组的值
		}

		for(i of arr1){ 
			// console.log(i);  //i是数组的值
		}

		for(i of arr1.keys()){
			// console.log(i)  //i是数组的下标
		}

		var json = {a:44,b:55,c:66};
		for(i in json){
			// console.log(i); //a b c
			// console.log(json[i]); //输出json的值
		}

		//for of 不能遍历json的值
		for(i of json){
			// console.log(i);  error
		}
	</script>
	
	<!--map-->
	<script>
		//map 是一种数据集合,以key/value的形式存储和访问
		var map = new Map();

		//添加
		map.set(‘a‘,11);
		map.set(‘b‘,22);
		map.set(‘c‘,"33");
		map.set(‘d‘,"dddd");
		map.set(‘e‘,‘\\‘);
		console.log(map);

		// 查看
		// console.log(map.get(‘a‘));
		// console.log(map.get(‘b‘));
		// console.log(map.get(‘c‘)); 
		
		//删除
		// map.delete(‘b‘);
		// console.log(map);

		for(i of map){ //默认 map实体
			// console.log(i);
		}
		for(i of map.entries()){
			// console.log(i); //map 实体
		}

		for(i of map.values()){
			// console.log(i); //map 的值
		}
		for(i of map.keys()){
			// console.log(i); //map 的键 a b c d e 
		}

		for([a,b] of map){ //第一个参数是键 第二个参数是值
			console.log(a+":"+b);
		}
		
		for([key,value] of map){ //获取map的键和值
			console.log(key + ":" + value);
		}
	</script>
	
	<!--函数默认值-->
   	<script>
   		function show(x,y){
   			if(!x){
   				x = "hello";
   			}
   			if(!y){
   				y = "world";
   			}
   			console.log(x,y);
   		}
   		// show();
   		//1.在定义函数时,将默认参数写在参数列表中
   		function show1(x,y="bbb"){
   			console.log(x,y);
   		}
   		// show1(‘a‘); //把参数赋给x
   		// show1(‘a‘,‘c‘);  // 把a赋给x 把c赋给y

   		//2.如果默认参数的赋值有变量的话,值是可以动态改变的
   		var z = 100;
   		function show2(a = z + 1){
   			console.log(a); 
   		}
   		// show2(); //101

   		//3.结构赋值
   		
   		function show3({a = 1,b = 2}={}){
   			console.log(a,b);
   		}   		
   		// show3();
   		// show3({a:11,b:22});
   		

   		function show4({a,b} = {}){
   			console.log(a,b);
   		}
   		// show4({a:111,b:222}); 111 222
   		// show4({a:111,b:222});

   		function show5({a,b}){
   			console.log(a,b);
   		}
   		// show5({a:100,b:100});

   		function show6(url,{body = "",method = "get"}){
   			console.log(method);
   		}
   		// show6("http://www.liyuit.com"); //error
   		// show6("http://www.liyuit.com",{}); //get


   		function show7(url,{body = "",method = "get"}={}){
   			console.log(method);
   		}
   		show7("http://www.liyuit.com");
   	</script>
   	
   	<!--函数-rest参数-->
   	<script>
		//用扩展运算符后的参数来接受多余的参数

		function show(x,...args){
			console.log(x,args);
		}
		show(1,2,3,4,5,6); //把1给了参数 x   把 2,3,4,5,6给了args数组
	</script>
</head>
<body>
	
</body>
</html>


<!--封闭空间-->
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>09封闭空间.html</title>
	<script>
		//封闭空间,就是把匿名函数用括号扩气来,形成自己的作用域

		/*
		(function(){
			console.log("aaa");
		})();
		//相当于自己调用自己

		//匿名函数立即执行并传参
		(function(msg){
			console.log(msg);
		}("bbbb"));

		*/
		window.onload = function(){
			var aBtn = document.getElementsByTagName(‘input‘);
			console.log(aBtn);
			/*
			点击按钮是 输出当前元素的下标

			第一种 用this
			for(var i = 0; i < aBtn.length; i++){
				aBtn[i].index = i;
				aBtn[i].onclick = function(){
					console.log(this.index);
				}
			}
			*/
			
			/*
			第二种 
			for(let i = 0; i < aBtn.length; i++){
				aBtn[i].onclick = function(){
					console.log(i);
				}
			}
			*/

			//第三种
			for(var i = 0; i < aBtn.length; i++){
				(function(index){
					aBtn[index].onclick = function(){
						console.log(index);
					}
				}(i))
			}
		}
	</script>
</head>
<body>
	<input type="button" value="按钮1">
	<input type="button" value="按钮2">
	<input type="button" value="按钮3">
</body>
</html>


本文出自 “11183863” 博客,请务必保留此出处http://11193863.blog.51cto.com/11183863/1961508

以上是关于day46homework常量字符串拼接结构赋值扩展运算符for-of循环map函数默认值的主要内容,如果未能解决你的问题,请参考以下文章

关于C 语言的字符串常量拼接

ES6学习手册

20172319 2018.03.12-19 《程序设计与数据结构》第2周学习总结

python_day2_homework

如何将一个字符串常量赋值给一个STRING变量?

String面试题解析