day01
1、数据类型 number string boolean undefined object function
加号具有两种功能,数字相加 和 字符串拼接。加号两边只要碰见字符串,则执行字符串拼接。
number(),parseInt(),parseFloat方法都可以将字符串转换成数字类型
2、“=”,一个等号表示赋值,“==”两个等号表示等于(此时不考虑数据类型),“===”,三个等号表示全等于(此时考虑数据类型)
3、NAN不是一个用来运算的值,因此 NAN 不等于 NAN 。NAN是一个 number类型。
4、toString(n); 转换成n进制 parseInt(n,m),将n转换成m进制
day03
1、 return 语句有两个作用,返回和终止函数运行。
2、argument ,一个对象,该对象将函数的所有参数保存为一个数组。在函数中可以直接调用。在严格模式下数组中内容的修改将不能与函数中调用的参数同步。
day04
练习题:
1、通过循环生成顺序为一个5×5的二维数组a赋1到25的自然数,然后输出该数组的左下半三角。试编程。
1 <script> 2 var count = 0; 3 for (var i = 1; i <= 25; i++) { 4 if (count % 5 == 0 && count != 0) { 5 document.write("<br>"); 6 } 7 count++; 8 var node = document.createElement("div"); 9 var txt = document.createTextNode(i); 10 node.style.width = "20px"; 11 node.style.float = "left"; 12 node.appendChild(txt); 13 document.body.appendChild(node); 14 } 15 var count2 = 1; 16 var temp = 1; 17 for (var i = 1; i <= 25; i++) { 18 if (count % 5 == 0 && count != 0) { 19 document.write("<br>"); 20 temp = count2; 21 count2++; 22 // console.log(temp); 23 } 24 count++; 25 var node = document.createElement("div"); 26 if (temp > 0) { 27 var txt = document.createTextNode(i); 28 temp--; 29 } 30 node.style.color = "red"; 31 node.style.width = "20px"; 32 node.style.float = "left"; 33 node.appendChild(txt); 34 document.body.appendChild(node); 35 } 36 document.write("<br>"); 37 </script>
数组写法:
1 <script> 2 var a = []; 3 var temp = null; 4 for (var i = 0; i < 25; i++) { 5 if (i % 5 == 0) { 6 temp = new Array(0); 7 a.push(temp); 8 } 9 temp.push(i + 1); 10 } 11 console.log(a.length); 12 console.log(a); 13 for (var i = 0; i < a.length; i++) { 14 for (var j = 0; j <= i; j++) { 15 document.write(a[i][j]); 16 } 17 document.write("<br>"); 18 } 19 </script>
2、定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程。
1 <script> 2 var a = new Array(30); 3 var b = 2; 4 var c = []; 5 for (var i = 0; i < a.length; i++) { 6 a[i] = b; 7 b += 2; 8 } 9 var sum = 0; 10 for (var i = 0; i <= a.length; i++) { 11 if (i % 5 == 0 && i != 0) { 12 c.push(sum / 5); 13 sum = 0; 14 } 15 sum += a[i]; 16 } 17 </script>
3、随机点名程序
1 <script> 2 var namelist = ["宋健", "唐小丽", "栗洁", "佘美晨", "王尹玮", "甘秀能", "孙琦林", "杨洪娜", "韩彦曦", 3 "刘禹麟", "潘熙", "田士恩", "滕文松", "张志阵", "龙 海", "刘泽阳", "盘睿", "韩俊倩", "侯红申", "于明皓", 4 "李嘉辉", "杨鹏", "莫瑞飞", "张亚楠", "欧阳秋雪", "李亚宁", "刘家彬", "王宗其", "刘浩", "董珂莹", "梁晓宇", 5 "王天鹤", "胡振涛", "李双霜", "胡兵康", "程作鹏", "陈维宇", "郭紫玉", "范林强", "张迪", "陈钲", "张晓婷", 6 "刘丽", "王靖宇" 7 ]; //44个 8 // console.log(namelist.length); 9 var random = parseInt(Math.random() * namelist.length); 10 document.write(namelist[random]); 11 document.write("<br>"); 12 </script>
4、点击按钮,生成数字字母验证码
1 <script> 2 var list = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'a', 'b', 'c']; 3 var btn = document.createElement("button"); 4 var code = document.createElement("div"); 5 btn.innerHTML = "点击生成验证码"; 6 document.body.appendChild(btn); 7 btn.onclick = function () { 8 code.innerHTML = ""; 9 var one = list[parseInt(Math.random() * list.length)]; 10 var two = list[parseInt(Math.random() * list.length)]; 11 var three = list[parseInt(Math.random() * list.length)]; 12 var four = list[parseInt(Math.random() * list.length)]; 13 var hintContent = document.createTextNode(one + " " + two + " " + three + " " + four); 14 console.log(hintContent); 15 code.appendChild(hintContent); 16 code.style.border = "1px solid"; 17 code.style.display = "inline-block"; 18 document.body.appendChild(code); 19 } 20 </script>
5、请编写一个函数join,将数组的每一位按照指定字符链接起来 ,例如: join([1,2,3], "%"), 运行结果"1%2%3";
1 <script> 2 function join(Arr, operator) { 3 var str = ""; 4 for (var i = 0; i < Arr.length; i++) { 5 if (i == Arr.length - 1) { 6 str += Arr[i]; 7 } else { 8 str += Arr[i] + operator; 9 } 10 } 11 return str; 12 } 13 document.write(join([1, 2, 3], "%")); 14 </script>
6、随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么
1 <script> 2 var str=parseInt(Math.random()*99999).toString(); 3 console.log("共"+(str.length)+"位数字"); 4 for(var i=0;i<str.length;i++){ 5 console.log("第"+(i+1)+"位是:"+str[i]); 6 } 7 </script>
7、编写函数map(arr) 把数组中的每一位数字都增加30%
1 <script> 2 //编写函数map(arr) 把数组中的每一位数字都增加30% 3 function map(arr){ 4 for (var i = 0; i < arr.length; i++) { 5 arr[i]*=1.3; 6 } 7 } 8 qq=[4,5,6,9,8,7]; 9 map(qq); 10 console.log(qq); 11 </script>
8、编写函数has(arr , 60) 判断数组中是否存在60这个元素,返回布尔类型
1 <script> 2 // 编写函数has(arr , 60) 判断数组中是否存在60这个元素,返回布尔类型 3 function has(arr,n) { 4 for (var i = 0; i < arr.length; i++) { 5 if(arr[i]==n){ 6 return true; 7 }else{ 8 continue; 9 } 10 } 11 return false; 12 } 13 console.log(has([1,2,22,3,4,5,55,54,87,77],60)); //false 14 </script>
9、编写函数noRepeat(arr) 将数组的重复元素去掉,并返回新的数组
1 <script> 2 //编写函数noRepeat(arr) 将数组的重复元素去掉,并返回新的数组 3 function noRepeat(arr){ 4 for(var i in arr){ 5 for(var j in arr){ 6 if(j==i){ 7 continue; 8 }else if(arr[i]==arr[j]){ 9 arr.splice(j,1) 10 } 11 } 12 } 13 return arr; 14 } 15 console.log(noRepeat([6,3,2,4,2,5,3]));// [6,3,2,4,5] 16 </script>