第四十二天

if分支结构

<!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>分支结构</title> </head> <body>  分支结构 </body> <script type="text/javascript">  // if分支结构

 // var tq = prompt("今天天气(晴|雨)");  // if (tq == '雨') {  //  alert("带伞上学!");  // }

 // 语法  /*  if (条件表达式) {   代码块;  }  */

 // 条件表达式可以为普通表达式  // 表达式:由常量,变量组成的合法式子 1 | 1+a | ""+0("0")  // 0 "" null undefined NaN 为假  // var temp = " "; // 为真  // if (temp) {  //  alert("表达式为真!");  // }

 // 双分支  // var tq = prompt("今天天气(晴|雨)");  // if (tq == '雨') {  //  alert("带伞上学!");  // } else {  //  alert("不上学!");  // }

 // 多分支  // var tq = prompt("今天天气(晴|雨|多云)");  // if (tq == '雨') {  //  alert("带伞上学!");  // } else if (tq == '晴') {  //  alert("不上学!");  // } else  //  alert("睡觉!");  //  alert("恶龙咆哮!"); // 该语句不属于if结构    // 1.else分支可以省略  // 2.else if分支可以为多个

 // 注: 当某个分支只有一条逻辑语句,可以省略{}

 // if嵌套  var jijie = prompt("季节(春夏秋冬):");  if (jijie == '冬') {   var wd = prompt("今天温度(-5|5)");  // 接收到的是字符串   wd = Number(wd);   if (wd < 0) {    alert('穿羽绒服!');   } else {    alert('穿短袖!');   }  }  // else if 春夏秋

</script> </html>

switch分支结构

<!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>switch分支</title> </head> <body>  switch分支 </body> <script type="text/javascript">  var month = prompt('请输入月份:');

 // month = + month;  // switch (month) {  //  // case 1: alert("31天"); break;  //  case 1: alert("31天");  //  default: alert("28天");  // }

 // switch (month) {  //  case '1': alert("31天"); break;  //  default: alert("28天");  // }

 month = + month;  switch (month) {   case 1: case 3: case 5: case 7: case 8: case 10: case 12: {    alert('31天');    break;   };

  case 4:   case 6:   case 9:   case 11:    alert("30天"); break;

  default: alert("28天");  }

 // 总结:  // 1.break结束最近的case,跳出switch结构  // 2.表达式与值进行的是全等比较,所以表达式与值得类型需要统一 (字符串 | 整数值)  // 3.多个case可以共用逻辑代码块  // 4.default分支为默认分支,需要出现在所有case之下,也可以省略

</script> </html>

循环结构

<!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>循环结构</title> </head> <body>  循环结构 </body> <script type="text/javascript">  // 1.for循环  // 语法:  /*  for (循环变量①; 条件表达式②; 循环变量增量③) {   代码块④;  }  */  // 执行的逻辑顺序 ① ②④③ ... ②④③ ②  (②④③个数[0, n])  // for (var i = 0; i < 5; i++) {  //  document.write("</br><h1 style='margin: 0'>学习使我快乐!</h1>");  // }  // 一条逻辑语句可以省略{}

 // 2.while循环  // var i = 0;  // while (i < 5) {  //  document.write("</br><h1 style='margin: 0'>学习使我快乐!</h1>");  //  i++;  // }  // while可以解决不明确循环次数但知道循环出口条件的需求

 // 3.do...while循环  // var i = 0;  // do {  //  document.write("</br><h1 style='margin: 0'>学习使我快乐!</h1>");  //  i++;  // } while (i < 5);  // do..while循环,循环体一定会被执行,至少执行一次

 // 4.for...in循环  obj = {"name": "zero", "age": 8, 1: 100};  for (k in obj) {      console.log(k, obj[k])  }  // 对象的简单使用  console.log(obj["name"]);  console.log(obj[1]);  // 用于遍历对象:遍历的结果为key,通过[]语法访问对应的value

 // 5.for...of迭代器  // iter = ['a', 'b', 'c'];  iter = 'abc';  for (v of iter) {      console.log(v)  }  // 1.用于遍历可迭代对象:遍历结果为value  // 2.ES6新增,可迭代对象有 字符串、数组、Map、Set、Anguments、NodeList等

 // 6.关键词  // break:结束本层循环  // continue:结束本次循环,进入下一次循环   </script> </html>

异常处理

<!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>异常处理</title> </head> <body>  异常处理 </body> <script type="text/javascript">  while (1) {   var num1 = + prompt("请输入第一个数字:");   var num2 = + prompt("请输入第二个数字:");

  var res = num1 + num2;

  try {    if (isNaN(res)) throw "计算有误!";    alert(res);    break;   } catch (err) {    console.log("异常:" + err);   } finally {    console.log('该语句一定会被执行,一次try逻辑执行一次');   }  }

  </script> </html>

函数初级 <!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>函数初级</title> </head> <body>  函数初级 </body> <script type="text/javascript">  // 0.函数的调用  // 函数名(参数列表)

 // 1.ES5函数定义  function fn1() {   console.log("fn1 函数");  }  fn1();

 var fn2 = function () {   console.log("fn2 函数");  }  fn2();

 // 2.ES6函数定义  let fn3 = () => {   console.log("fn3 函数");  }  fn3();

 // 3.匿名函数  // (function () {  //  console.log("匿名函数");  // })

 // 匿名函数定义后,无法使用,所以只能在定义阶段自调用  let d = "匿名";  (function (t) {   console.log(t + "函数");  })(d);

</script>

<script type="text/javascript">  // 函数的参数  // 注:js参数都是位置参数

 // 参数不统一  function fun1 (a, b, c) {      console.log(a, b, c);  // 100 undefined undefined  }  fun1(100);

 function fun2 (a) {      console.log(a);  // 100  }  fun2(100, 200, 300);  // 200,300被丢弃

 // 默认值参数  function fun3 (a, b=20, c, d=40) {      console.log(a, b, c, d);  // 100 200 300 40  }  fun3(100, 200, 300);

 // 不定长参数  function fun4 (a, ...b) {      console.log(a, b);  // 100 [200 300]  }  fun4(100, 200, 300);  // ...变量必须出现在参数列表最后

</script>

<script type="text/javascript">  // 返回值  // 1.空返回  var func1 = function (num) {   if (num == 0) return; // 用来结束函数   console.log('num: ', num);  }  func1(100);

 // 2.返回值类型任意,但只能为一个值  var func2 = function (a, b) {   // return a, b, a + b; // 不报错,但只返回最后一个值   return a + b;  }  // 注:函数返回值就是函数的值,外界可以用变量结束函数执行后的函数值  var res = func2(10, 20);  console.log("和:%d", res);

</script>

</html>

事件初级 <!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>事件初级</title>  <script type="text/javascript">   // 事件需要绑定具体执行函数(方法)   // 通过事件满足的条件触发绑定的函数(方法)   // 函数(方法)完成具体的功能

  // onload事件附属于window   // onload触发条件:页面加载完毕(DOM文档树及页面资源)   // 行间式方式可以书写在body标签   window.onload = function () {    div.style.color = 'red';   }  </script> </head> <body>  事件初级  <div id="div" onclick="div.style.color = 'orange';" onmouseover="overAction()">123</div>  <!-- 1.直接将js代码块书写在行间事件中, 不提倡 -->  <!-- 2.行间事件调用函数, 不提倡(比较直接) --> </body>

<script type="text/javascript">  var overAction = function () {   div.style.color = 'blue';  }

 // 3.为目的对象绑定事件方法,内部可以使用this关键词  // this就是绑定的对象本身  div.onmouseout = function () {   this.style.color = 'pink';  }

</script>

</html>

js选择器 <!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>js选择器</title>  <style type="text/css">   /*css选择器*/   #d {    width: 200px;    height: 200px;    background-color: red;   }  </style> </head> <body>  <div id="d" class="dd">123</div>  <div id="d" class="dd">123</div>  <div id="e1" class="ee">123</div>  <div id="e2" class="ee">123</div>  <div id="e3" class="ee">123</div> </body>

<script type="text/javascript">  // 1.直接可以通过id名,确定页面元素对象(id一定要唯一)  // d.style.color = "cyan";

 // 2.getElement方式  // document:所有标签都存在于文档中,所有通过document对象就可以找到指定的页面元素对象

 // id  var d1 = document.getElementById('d');  d1.style.backgroundColor = "pink";

 // class  var d2 = document.getElementsByClassName('dd');  console.log(d2);  // HTMLCollection 类数组类型  console.log(d2[0].style);  d2[0].style.backgroundColor = "cyan";  d2[1].style.backgroundColor = "blue";

 // tagName  var d3 = document.getElementsByTagName('div');  d3[1].style.backgroundColor = "#333";

 // 注:只有getElementById只能由document调用

 var body = document.getElementsByTagName('body')[0];  body.style.backgroundColor = "#eee";  var d4 = body.getElementsByClassName('dd')[0];  d4.style.backgroundColor = "orange";  var d5 = body.getElementsByTagName('div')[1];  d5.style.backgroundColor = "brown";

</script>

<script type="text/javascript">  // 参数为css语法的选择器

 // 找满足条件的第一个  // 可以被document调用,也可以被普通对象调用  var e1 = document.querySelector('#e1'); // id为e1的标签,唯一一个  e1.style.backgroundColor = "#f7f";

 var e2 = document.querySelector('body .ee'); // body标签下的class为ee的 第一个标签  e2.style.backgroundColor = "#ff6700";

 var e3 = document.querySelector('body .ee:nth-of-type(5)');  console.log(e3)  e3.style.backgroundColor = "#ff6700";

 // 找满足条件的所有  var es = document.querySelectorAll('.ee');  console.log(es); // NodeList  es[1].style.backgroundColor = "tomato";

</script>

</html>

js操作页面内容 <!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>JS操作页面内容</title> </head> <body>  <div class="sup">   sup的文本   <div class="sub">sub的文本</div>  </div>  <form action="">   <input class="input" type="text" />   <button class="btn" type="button">获取</button>  </form> </body>

<script type="text/javascript">  // 通过js获取页面需要操作的元素对象  var sup = document.querySelector('.sup');  var sub = sup.querySelector('.sub');

 // 获取

  // 自身及所有子级的文本  console.log(">>>>>" + sup.innerText);  // sup的文本 \n sub的文本  console.log(">>>>>" + sub.innerText);  // sub的文本

 // 自身文本及所有子级的所有(包含标签的所有信息:标签名,id名,class名,样式,事件,文本...)  console.log(">>>>>" + sup.innerHTML);  // <div class="sub">sub的文本</div>  console.log(">>>>>" + sub.innerHTML);  // sub的文本

 // 赋值  sub.innerText = "<b>修改的sub文本</b>";  sub.innerHTML = "<b style='color: red'>修改的sub文本</b>";  // Text不解析标签语法,原样作为文本赋值给目标对象  // HTML可以解析标签语法

 console.log("-------------------------------------------------");  console.log(sub.innerHTML);  // <b style='color: red'>修改的sub文本</b>  console.log("-------------------------------------------------");  console.log(sub.outerHTML);  // <div class="sub"><b style='color: red'>修改的sub文本</b></div>  console.log("-------------------------------------------------");

 var btn = document.querySelector('.btn');  var ipt = document.querySelector('.input');  btn.onclick = function () {   // 获取表单元素的文本值

  // 获取文本   var v = ipt.value;   console.log(v);

  // 清空文本   ipt.value = "";  // 赋值空文本  }

</script>

</html>

js操作页面样式 <!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>js操作页面样式</title>  <style type="text/css">   div#div.div {    width: 200px;    height: 200px;    background-color: red;   }  </style> </head> <body>  <!--  style="" 行间式优先级高于任何css选择器 -->  <!-- 低于!important -->  <!-- <div id="div" class="div" style=""></div> -->  <div id="div" class="div"></div>  <button class="btn">切换</button> </body> <script type="text/javascript">  var div = document.querySelector('.div');  // js操作的就是行间式  // div.style.backgroundColor = 'orange';

 // 需求:切换背景颜色 红 <=> 黄  // 1.获取原来的颜色  // 2.判断颜色  // 3.修改颜色

 // 因为页面一般采用css样式布局,css布局的样式叫 计算后样式  // 而ele.style.样式只能获取行间式样式  // var bgColor = div.style.backgroundColor;   // console.log(bgColor);

 // 获取计算后样式  // getComputedStyle参数: 页面对象 伪类  // getPropertyValue参数: css语法的样式字符串  // var bgColor = getComputedStyle(div, null).getPropertyValue('background-color');  var bgColor = getComputedStyle(div, null).backgroundColor;  console.log(bgColor);  // rgb(255, 0, 0)

 var btn = document.querySelector('.btn');  // 点击一下  btn.onclick = function () {   // 获取当前颜色一次   bgColor = getComputedStyle(div, null).backgroundColor;   console.log(bgColor);   // 判断并修改   if (bgColor == 'rgb(255, 0, 0)') {    div.style.backgroundColor = 'orange';   } else {    div.style.backgroundColor = 'red';   }  }

</script> </html>

js操作类名 <!DOCTYPE html> <html lang="zh"> <head>  <meta charset="UTF-8">  <title>js操作类名</title>  <style type="text/css">   .div {    width: 200px;    height: 200px;    background-color: red;    display: none;   }   .show {    width: 200px;    height: 200px;    background-color: red;    display: block;   }   .hidden {    display: none;   }   .border {    border: 1px solid black;   }  </style> </head> <body>  <button class="btn1">显示</button>  <button class="btn2">加边框</button>  <button class="btn3">改颜色</button>  <button class="btn4">加文本</button>  <button class="btn5">隐藏</button>  <div class="div"></div> </body> <script type="text/javascript">  var div = document.querySelector('.div');  var b1 = document.querySelector('.btn1');  var b5 = document.querySelector('.btn5');  var b2 = document.querySelector('.btn2');  var b4 = document.querySelector('.btn4');

 b1.onclick = function () {   div.className = 'show';  }  b5.onclick = function () {   div.className = 'hidden';  }  b2.onclick = function () {   div.className += ' border';  }  b4.onclick = function () {   div.innerText += "文本";  }

</script> </html>

猜你喜欢

转载自www.cnblogs.com/zhouhao123/p/9789124.html