当前位置: 首页 > news >正文

领券购买网站是怎么做的正规的环保行业网站开发

领券购买网站是怎么做的,正规的环保行业网站开发,做wordpress 下载站,吉林新农村建设网站目录 什么是原型链#xff1f; 原型与构造函数 原型链的工作原理 实例#xff1a;理解原型链 宏任务#xff08;Macro Task#xff09; 微任务#xff08;Micro Task#xff09; 什么是原型链#xff1f; JavaScript 是一门基于原型的语言#xff0c;而原型链是…  目录 什么是原型链 原型与构造函数 原型链的工作原理 实例理解原型链 宏任务Macro Task 微任务Micro Task 什么是原型链 JavaScript 是一门基于原型的语言而原型链是 JavaScript 中实现继承的一种机制。它允许对象通过从其他对象继承属性和方法形成一个链式结构。当访问一个对象的属性或方法时如果当前对象没有找到JavaScript 就会在原型链中继续查找。 原型与构造函数 在 JavaScript 中每个对象都有一个称为原型的隐藏属性。原型可以是一个普通对象或 null。每个构造函数都有一个 prototype 属性它是一个指向原型对象的引用。当我们使用构造函数创建一个新对象时新对象的原型会指向构造函数的 prototype。 function Person(name) {this.name name; }Person.prototype.sayHello function() {console.log(Hello, my name is ${this.name}.); };const john new Person(lisi);在上面的例子中我们创建了一个构造函数 Person并给它的 prototype 添加了一个 sayHello 方法。当我们使用 new Person(lisi) 创建 lisi 对象时lisi对象的原型就会指Person.prototype。 原型链的工作原理 当我们访问一个对象的属性或方法时JavaScript 引擎首先会在对象本身中查找。如果找不到它会继续在原型链中向上查找直到找到该属性或方法或者到达原型链的末尾即原型为 null。 让我们看一个示例 function Animal(species) {this.species species; }Animal.prototype.getSpecies function() {return this.species; };function Dog(name, breed) {this.name name;this.breed breed; }Dog.prototype Object.create(Animal.prototype); Dog.prototype.constructor Dog;const fluffy new Dog(Fluffy, Golden Retriever); console.log(fluffy.getSpecies()); // Output: Golden Retriever在上面的例子中我们创建了两个构造函数 Animal 和 Dog。我们让 Dog 的原型指向 Animal 的实例从而形成了一个原型链。当我们通过 fluffy 对象调用 getSpecies 方法时由于 fluffy 对象本身没有 getSpecies 方法JavaScript 引擎会沿着原型链向上查找找到了 Animal.prototype 上的 getSpecies 方法并调用它。 实例理解原型链 // 构造函数 Person function Person(name, age) {this.name name;this.age age; }// 在 Person 的原型上添加一个 sayHello 方法 Person.prototype.sayHello function() {console.log(Hello, my name is ${this.name} and Im ${this.age} years old.); };// 创建一个 Person 对象 const john new Person(John, 30);// 调用 sayHello 方法 john.sayHello(); // Output: Hello, my name is John and Im 30 years old.在这个简单的实例中我们定义了一个构造函数 Person它有两个属性 name 和 age。然后我们通过给 Person.prototype 添加 sayHello 方法使得所有通过 Person 构造函数创建的对象都可以调用 sayHello 方法。 当我们通过 new Person(John, 30) 创建了 john 对象后john 对象的原型链上就可以找到 sayHello 方法。因此当我们调用 john.sayHello() 时JavaScript 引擎会在 john 对象中查找是否有 sayHello 方法由于没有找到它会继续向上查找最终在 Person.prototype 上找到了 sayHello 方法并调用它。 结论 原型链是 JavaScript 中实现继承的关键机制。它允许对象在运行时从其他对象继承属性和方法并形成一个链式结构。通过深入理解原型链我们可以更好地理解 JavaScript 中对象和继承的工作原理。 宏任务Macro Task 宏任务代表一组相互独立的、按顺序执行的任务。它们通常代表一些较为耗时的操作例如 I/O 操作、定时器回调、DOM 事件等。宏任务的执行顺序是先进先出的。 在浏览器中宏任务队列包含了一些异步任务当主线程执行完同步代码后会从宏任务队列中选择一个任务执行执行完成后再次回到主线程执行同步代码如此循环。 微任务Micro Task 微任务是宏任务中的一种更小的任务单元。它们具有高优先级并且在当前宏任务执行完成后立即执行。常见的微任务包括 Promise 的回调、MutationObserver 的回调以及 process.nextTick 等。 在浏览器中当一个宏任务执行完毕后会检查当前宏任务是否产生了微任务如果有则会依次将微任务队列中的任务全部执行完毕然后再执行下一个宏任务。这保证了微任务在宏任务之间执行优先级比宏任务高。 实例 console.log(Start); // 同步任务属于宏任务setTimeout(() {console.log(Timeout); // 异步任务属于宏任务 }, 0);Promise.resolve().then(() {console.log(Promise); // 异步任务属于微任务 });console.log(End); // 同步任务属于宏任务执行上述代码输出结果  Start End Promise Timeout   执行过程 同步任务 console.log(Start) 和 console.log(End) 首先进入宏任务队列并立即执行。setTimeout 定时器会被放入宏任务队列但由于时间设置为 0它的回调函数会稍后执行。Promise.resolve().then 的回调函数进入微任务队列并立即执行。主线程执行完当前宏任务后会检查微任务队列并执行其中的任务执行结果为 Promise。微任务执行完毕后再从宏任务队列中选择一个任务执行输出 Timeout。
http://www.w-s-a.com/news/321347/

相关文章:

  • 物流网站的建设wordpress电视直播插件下载
  • 简述网站开发流程青岛做网站建设价格低
  • 网站开发的业务需求分析杭州推广公司
  • 网站建设技术实现难点app开发需要哪些软件
  • 响水建设局网站做网站需要会哪些知识
  • 企业制作企业网站个人网站可以做百度竞价
  • 做网站找投资人wordpress 5 主题教程
  • 做国外网站汇款用途是什么wordpress图片主题晨曦
  • 网站设计跟网站开发区别为什么网站需要维护
  • m 的手机网站怎么做网络推广方式和方法
  • wordpress图片自动轮播插件seo门户网站建设
  • 制作商业网站传奇网页游戏排名
  • 网站免费推广方案长沙房地产网站设计
  • 济南网站建设cnwenhui中交路桥建设网站
  • 韶关网站开发网站建设任务分解
  • 网站建设核心点阿根廷网站后缀
  • 哪些网站可以做招商广告语学校官网页面设计
  • 十堰城市建设网站网站开发流程宜春
  • 内江网站建设郑州网站优化外包
  • 土地流转网站建设项目云南抖音推广
  • 建设银行网站无法打开2021年有没有人给个网站
  • 高端手机网站建设网站建设岗位绩效
  • 泰安网络推广 网站建设 网站优化免费素材网站psd
  • 做企业网站联系网站开发具体的工作内容
  • 联合易网北京网站建设公司怎么样网站页面开发流程
  • 2015做那些网站能致富网站建设审批表
  • 深圳 网站设计个人名片模板
  • 网站建设费用选网络专业网站在线推广
  • 天津建设网站c2成绩查询用记事本制作html网页代码
  • 织梦二次开发手机网站如何成为一名设计师