Blogger Information
Blog 21
fans 0
comment 0
visits 21411
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
循环、函数、获取dom元素方法 dom的遍历方法, 实例演示dataset, classList对象的使用
N.
Original
1073 people have browsed it
循环的所有形式必须全部熟悉并实例演示

上代码:

  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. const age = [1, 2, 3, 4, 5];
  11. console.log(age.length);
  12. let i = 0;
  13. // 入口判断
  14. while (i < age.length) {
  15. // i的值为索引,i的值为0代表第一个,为1代表第二个,依次递增
  16. console.log(age[i + 4]);
  17. i++;
  18. }
  19. // 出口判断,先执行,再判断
  20. let z = 0;
  21. do {
  22. console.log(age[z]);
  23. z++;
  24. } while (z > age.length);
  25. // for (循环变量的初始化; 循环条件; 更新循环条件){... }
  26. // length是索引数量
  27. for (let z = 0; z < age.length; z++) {
  28. if (z < 3) {
  29. console.log(age[z]);
  30. }
  31. }
  32. console.log("----------");
  33. for (let z = 0; z < age.length; z++) {
  34. if (z >= 3) break;
  35. {
  36. // break意思是跳出循环,我现在设定的是当z的值大于等于3时跳出
  37. // 意思也就是当打印出对应索引的数值大于3时自动跳出循环,
  38. // 也就是只循环到前三个,也就是 1 2 3时停止循环,
  39. // 1 2 3 对应的索引时 0 1 2
  40. console.log(age[z]);
  41. }
  42. }
  43. console.log("-----------");
  44. for (let z = 0; z < age.length; z++) {
  45. // 比如当我设置只取偶数时,单数跳出循环,只打印偶数
  46. // %号时除的意思,除以2 余0 加!意思不等于,意思被2整除时余数不等于0跳过本次循环
  47. // 也就是只取偶数,加!号应注意是两个等于号,
  48. if (z % 2 !== 0) continue;
  49. {
  50. // continue意思是跳过本次循环,
  51. console.log(age[z]);
  52. }
  53. }
  54. console.log("-----------");
  55. for (let z = 0; z < age.length; z++) {
  56. // 比前我设置只取奇数,偶数跳出循环,只打印奇数
  57. // %号时除的意思,除以2 余0 意思被2整除时余数等于0跳过本次循环
  58. // 注意这里是三个等于号
  59. if (z % 2 === 0) continue;
  60. {
  61. // continue意思是跳过本次循环,
  62. console.log(age[z]);
  63. }
  64. }
  65. console.log("-----------");
  66. const ming = {
  67. name: "czy",
  68. id: 456,
  69. email: "1923834525@qq.com",
  70. };
  71. // for (键名/属性 in 对象) {...}
  72. // 键名和属性名字是可以自定义的 对象名字是创建好的
  73. // 里面let后面跟的是属性,属性里的键名可以自定义
  74. for (let shuxing in ming) {
  75. console.log(shuxing, ming[shuxing]);
  76. }
  77. console.log("-----------");
  78. // array.forEach(function (值, 索引, 数组) {});
  79. // 第一个值是值,第二个是索引,第三个是数组,
  80. age.forEach(function (canshu, suoyin, shu) {
  81. console.log(canshu, suoyin, shu);
  82. // 第一个值是必须选的 其他都是可选的
  83. });
  84. console.log("-----------");
  85. // for - of: 不能遍历自定义对象
  86. // v: 数组中的某一个成员
  87. // for -of : 直接取出数组的值
  88. for (let v of age) {
  89. console.log(v);
  90. }
  91. </script>

上截图:


函数的所有形式,箭头函数,实例演示
内容都在代码里,上代码!

  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>函数练习</title>
  7. </head>
  8. <body>
  9. <script>
  10. function czy() {
  11. console.log("欢迎您", czy.name);
  12. }
  13. czy();
  14. ///////////////////////////////////////////////////////////////////
  15. console.log("--------------");
  16. function czy1(name) {
  17. console.log("欢迎您!", name);
  18. }
  19. czy1("小白白");
  20. ///////////////////////////////////////////////////////////////////
  21. console.log("--------------");
  22. // 声明一个函数 给一个设好的值 a=1
  23. function czy2(a = 1) {
  24. let b;
  25. // 创建一个变量b,
  26. // 判断b是否等a等于1,如果不等于,则显示失败 ,如果等于,则提示成功
  27. b = a === 1 ? "成功" : "失败";
  28. console.log(b);
  29. }
  30. czy2();
  31. czy2(2);
  32. ///////////////////////////////////////////////////////////////////
  33. console.log("--------------");
  34. function czy3(a, b) {
  35. console.log(a + b);
  36. }
  37. czy3(1, 3);
  38. //////////////
  39. // 剩余参数: 使用剩余运算符, ...name
  40. // ...rest: 将剩余参数全部打包到一个数组变量中
  41. function czy3(...aaa) {
  42. // aaa名字是随便设的,意思是将czy的剩余参数(比方说无限个或者很多)全部打包到数组
  43. // 累加器初始化: 0
  44. let res = 0;
  45. for (let a of aaa) {
  46. // a的也是随便取得 意思是代表其中的某一个成员
  47. res += a;
  48. }
  49. console.log(res);
  50. }
  51. czy3(1, 3.5, 5, 7, 8);
  52. czy3(11, 22, 66, 77);
  53. let shu = [11, 22, 33, 44];
  54. czy3(shu);
  55. // 只能使用离散的组中不能是数组,数组的话会错误上面shu就是数组
  56. // ...spread: 将数组展开成一个个独立的单元
  57. ///
  58. // 可以这样使用 数组前面加三个点,意思是展开
  59. czy3(...shu);
  60. // 这样就可以用了
  61. ///////////////////////////////////////////////////////////////////
  62. console.log("--------------");
  63. function czy4() {
  64. return [
  65. { id: 1, name: "aaad" },
  66. { id: 2, name: "ddda" },
  67. { id: 3, name: "ccca" },
  68. ];
  69. }
  70. console.log(czy4()[2].name);
  71. ///////////////////////////////////////////////////////////////////
  72. console.log("--------------");
  73. // 4. 函数表达式: 当成匿名函数,用在回调方法
  74. // 匿名函数,没有名字,通过把它赋值给一个变量,来引用它
  75. let czy5 = function (name) {
  76. console.log("哈喽", name);
  77. };
  78. czy5("小白白");
  79. // 删除function , 在参数列表与大括号之间添加一个"=>", 胖箭头
  80. czy5 = (name) => {
  81. console.log("哈喽", name);
  82. };
  83. czy5("大白白 ");
  84. </script>
  85. </body>
  86. </html>

上截图!


实例演示获取dom元素的所有方法,话都在代码里!

  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>获取dom练习</title>
  7. </head>
  8. <body>
  9. <ul id="its">
  10. <li class="item" name="yi">行一</li>
  11. <li class="item">行二</li>
  12. <li class="item" name="san">行三</li>
  13. <li class="item">行四</li>
  14. <li class="item">行五</li>
  15. </ul>
  16. <script>
  17. // 通过标签拿
  18. let its = document.getElementsByTagName("li");
  19. console.log(its, "这里我通过标签的的方法获得了所有的li,但是没有显示内容");
  20. // 拿到第二个标签的内容
  21. console.log(its.item(2).innerHTML, "这里我使用了标签的方法,获得了li中的第三个值 也就是:行三");
  22. // 使用id的方法获取ul,并显示ul的内容
  23. let ul = document.getElementById("its");
  24. console.log(ul.innerHTML, "这里我使用id的方法获取了ul,并且显示ul的内容,就是所有的li");
  25. // 使用class名称获得dom
  26. // 因为its之前已经声明过了,所以我这里临时选用aaa作为标识符
  27. let aaa = document.getElementsByClassName("item");
  28. console.log(aaa, "这里我是用了class的方法,获得了所有的li,");
  29. // 现在我想要显示按class获取的第三个并且显示内容
  30. console.log(aaa.item(2).innerHTML, "这里通过class的方法拿到了第三个值,并显示了内容“行三”");
  31. // 通过name属性拿到第三个li,并且显示内容;
  32. const bbb = document.getElementsByName("san");
  33. console.log(bbb[0], "这里通过name的方法拿到了第三个值,");
  34. /////////////////////////////
  35. // 使用选择器来获取;
  36. // 通过选择器来获取li
  37. // querySelector返回集合中的第一个值,
  38. console.log("------------------------");
  39. li = document.querySelector("li");
  40. console.log(li, "这里返回了集合中的第一个值");
  41. // querySelectorALL返回集合中的所有值
  42. li = document.querySelectorAll("li");
  43. console.log(li, "这里返回了集合中的的所有值");
  44. // 使用querySelectorALL返回集合中的前三个值
  45. li = document.querySelectorAll("li:nth-of-type(-n+3)");
  46. console.log(li, "这里我使用了伪类选择器结合querySelectorALL的特性返回了前三个值");
  47. // 模拟jQuery的$()来获取元素
  48. // 先声明一个函数
  49. const i = (selector) => document.querySelectorAll(selector);
  50. console.log(i(".item"), "这里我使用了selector函数的方式按类获取了所有的li");
  51. </script>
  52. </body>
  53. </html>

上截图!



实例演示dom的遍历方法,熟悉所有属性,上代码!!

  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>dom元素的遍历</title>
  7. </head>
  8. <body>
  9. <ul>
  10. <li>iten1</li>
  11. <li>iten2</li>
  12. <li>iten3</li>
  13. <li>iten4</li>
  14. <li>iten5</li>
  15. </ul>
  16. <script>
  17. const ul = document.querySelector("ul");
  18. // 显示子元素
  19. console.log(ul.children, "这里显示ul下面的所有子元素");
  20. // 显示子元素数量
  21. console.log(ul.children.length, "这里显示了ul子元素的数量,也就是5");
  22. console.log(ul.childElementCount, "这里使用了另一种方法,ul.childElementCount也是显示ul下面的子元素数量");
  23. // 获取任何特定位置的子元素
  24. // 获取ul第三个位置的子元素
  25. console.log(ul.children[2].innerHTML, "这里显示的是第三个ul的子元素");
  26. // 获取ul第一个位置的子元素
  27. console.log(ul.firstElementChild.innerHTML, "这里显示了第一个子元素的内容");
  28. // 获取ul第一个位置的子元素
  29. console.log(ul.lastElementChild.innerHTML, "这里显示了最后一个子元素的内容");
  30. /////////
  31. // 兄弟之间的
  32. // 显示第二个ul子元素的前一个兄弟节点
  33. console.log(
  34. ul.children[1].previousElementSibling.innerHTML,
  35. "这里显示第二个ul子元素的前一个兄弟节点,也就是第一个子元素"
  36. );
  37. // 下一个兄弟元素节点
  38. console.log(
  39. ul.children[1].nextElementSibling.innerHTML,
  40. "这里显示第二个ul子元素的下一个兄弟节点,也就是第三个子元素"
  41. );
  42. console.log("---------------------");
  43. // 子元素的遍历
  44. console.log(ul.children, "通过for of的方法获取全部子元素");
  45. for (let v of ul.children) {
  46. console.log(v, "通过for of的方法获取全部子元素");
  47. }
  48. // 将类数组转成真正的数组使用Array.from的方法
  49. // Array.from(ul.children);
  50. Array.from(ul.children).forEach(
  51. (item) => console.log(item),
  52. "使用Array.from(ul.children)将类数组转成真正的数组,然后遍历其子元素"
  53. );
  54. // 父节点
  55. const li = document.querySelector("ul");
  56. console.log(ul.parentElement, "这里的父节点是body,");
  57. ul.parentElement.style.background = "red";
  58. // 背景变成红色,证明其body是父节点
  59. </script>
  60. </body>
  61. </html>

上截图!!


实例演示dataset, classList对象的使用 代码如下:

  1. <!DOCTYPE html>
  2. <html lang="">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>实例演示dataset, classList对象的使用</title>
  7. <style>
  8. .yi {
  9. color: brown;
  10. }
  11. .bul {
  12. color: blue;
  13. }
  14. .bgc {
  15. background-color: darkcyan;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <p class="yi">好好学习 ,天天掉头发</p>
  21. <h3>学习使我快乐,奥里给!!</h3>
  22. <script>
  23. const p = document.querySelector("p");
  24. console.log(p.className);
  25. p.className = "bul";
  26. const h3 = document.querySelector("h3");
  27. // add属性可以叠加
  28. h3.classList.add("yi");
  29. h3.classList.add("bgc");
  30. h3.classList.add("bul");
  31. // remove意思是移除
  32. h3.classList.remove("bul");
  33. h3.classList.replace("bul", "red");
  34. h3.classList.toggle("bul");
  35. </script>
  36. </body>
  37. </html>

上截图!!

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:剩余参数很有意思 ,多练习
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post