Blogger Information
Blog 40
fans 0
comment 1
visits 24357
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第16章 0106-原型类与DOM操作,学习心得、笔记
努力工作--周工--Robin
Original
508 people have browsed it

今天所学心得、笔记

1、构造函数的原型与对象原型

  1. // 构造函数的原型是,构造函数创建时系统自动创建的一个对象,它指向Object对象的原型__proto__;
  2. //对象原型是,对象创建时系统自动创建的一个对象,它指向构造函数的原型prototype;
  3. // 构造函数的原型关键字:prototype,对象原型关键字:__proto__;
  4. //构造函数的原型,创建属性和方法,对象原型不创建属性和方法,而直接使用构造函数的原型的属性和方法;
  5. // 如果对象中有创建属性和方法,和构造函数的原型中的同名,系统优先使用对象中有创建属性和方法;
  6. // 当一个需要使用的属性和方法在对象中没找到,系统便会去构造函数的原型中找,还没有找到的情况下,
  7. // 会向上查找到object的原型,直到报null为止;
  8. // 当所有对象有共同的方法和属性的时候,将这些方法和属性放在构造函数原型中,可以节省资源;
  9. //声明一个“模拟类”的构造函数
  10. function User(name, age) {
  11. this.name = name;
  12. this.age = age;
  13. }
  14. // 构造函数的原型
  15. User.prototype.showName = function (){
  16. console.log(`My name is ${this.name}`);
  17. };
  18. User.prototype.showAge = function (){
  19. console.log(`I'm ${this.age} years old`);
  20. };
  21. User.prototype.nation = "中国";
  22. // User.prototype = {
  23. // // 如果修改了原来的原型对象,给原型对象赋值的是一个对象,则必须手动的使用constructor
  24. // // 指回原为的构造函数
  25. // constructor: User,
  26. // showName: function (){
  27. // console.log(`My name is ${this.name}`);
  28. // },
  29. // showAge: function () {
  30. // console.log(`I'm ${this.age} years old`);
  31. // },
  32. // // nation: "中国",
  33. // }
  34. const user1 = new User("admin", 20);
  35. user1.nation = "联合国";
  36. console.log(user1); //{name: "admin", age: 20, nation: "联合国"}
  37. console.log(user1.__proto__); //{nation: "中国", showName: ƒ, showAge: ƒ, constructor: ƒ}
  38. console.log(User.prototype); //{nation: "中国", showName: ƒ, showAge: ƒ, constructor: ƒ}
  39. console.log(user1.__proto__ === User.prototype); //true
  40. user1.showName(); //My name is admin
  41. user1.showAge(); //I'm 20 years old
  42. const user2 = new User("peter", 30);
  43. console.log(user2); //User {name: "peter", age: 30}

2、获取dom元素的常用方法

  1. //获取所有li元素
  2. const list = document.querySelectorAll("#list li")
  3. console.log(list);
  4. //获取第一个li元素
  5. let first = document.querySelector("#list li");
  6. console.log(first);
  7. // 获取某一个或某一类元素
  8. // html
  9. console.log(document.documentElement);
  10. // head
  11. console.log(document.head);
  12. // body
  13. console.log(document.body);
  14. // title
  15. console.log(document.title);
  16. // forms
  17. console.log(document.forms[0]);
  18. // images
  19. console.log(document.images);
  20. // href
  21. console.log(document.location.href);
  22. // domain
  23. console.log(document.domain);

2、获取dom元素的常用方法

  1. // 增
  2. const ul = document.querySelector("#list");
  3. // 1. 创建元素
  4. const li = document.createElement("li");
  5. // parent.appendChild(newEl),添加到页面
  6. ul.appendChild(li);
  7. li.innerText = "大家好!";
  8. // li.innerHTML = '<i style="color:red">item6</i>';
  9. let htmlStr = "<li style='color:#ff0000'>同学们好!</li>";
  10. // 将html字符串直接解析为dom元素
  11. ul.insertAdjacentHTML("beforeEnd", htmlStr);
  12. // 删, 删除item4
  13. ul.removeChild(document.querySelector("li:nth-of-type(4)"));
  14. // 改
  15. let h3 = document.createElement("h3");
  16. h3.innerHTML = "开始上课了......";
  17. document.querySelector("li:nth-of-type(2)").replaceWith(h3);
  18. // ul.replaceChild(h3, document.querySelector("li:last-of-type"));
  19. // 查
  20. // 获取所有子元素
  21. console.log(ul.children);
  22. // 第一个子元素
  23. console.log(ul.firstElementChild);
  24. // 最后一个
  25. console.log(ul.lastElementChild);
  26. // 父节点
  27. console.log(ul.lastElementChild.parentElement);
  28. // 前一个兄弟
  29. const jiu = document.querySelector("#list li:nth-of-type(9)");
  30. // 后一个兄弟
  31. console.log(jiu.nextElementSibling.innerHTML);

例程演示结果

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