毕业答辩ppt网站开发wordpress主题包下载

pingmian/2026/1/20 19:02:38/文章来源:
毕业答辩ppt网站开发,wordpress主题包下载,网站底部技术支持,wordpress系列教程 pdfNodeJS 系列文章#xff0c;本篇是第一篇#xff0c;首先#xff0c;预计将后续高频使用逻辑串一遍#xff0c;依次是高阶函数#xff0c;promise以及事件机制。本篇主要是高阶函数。call、bind、applycall、apply 都是改变 this 指向#xff0c;区别是接受参数的方式不一…NodeJS 系列文章本篇是第一篇首先预计将后续高频使用逻辑串一遍依次是高阶函数promise以及事件机制。本篇主要是高阶函数。call、bind、apply call、apply 都是改变 this 指向区别是接受参数的方式不一样call 一个一个传参数apply 接收一个数组。 bind 会创建一个新函数称为绑定函数当调用这个绑定函数时绑定函数会以创建它时传入 bind 方第一个参数作为 this传入 bind 的第二个以及以后的参数加上绑定函数运行时本身的参数按照顺序作为原函数的参数来调用原函数。 当你希望改变上下文环境之后并非立即执行而是回调执行的时候使用 bind() 方法bind 是返回的函数。 apply、call 则会立即执行函数。this 指向this 指向问题谁调用我就指向谁。全局上下文非严格模式和严格模式中this都是指向顶层对象浏览器中是window。console.log(this window); // trueuse strictconsole.log(this window); // truethis.name Hiraku;console.log(this.name); // Hiraku 函数上下文普通函数调用模式var name 骁妈;var func function() {console.log(this window, this.name); // true 骁妈浏览器}; func(); 在 ES5 中全局变量是挂载在顶层对象浏览器是 window 中。const name1 mahongqin;const func1 function() {console.log(this window, this.name1); // true undefined};const func2 () {console.log(this window, this.name1); // true undefined};func1();func2(); let 没有给顶层对象中浏览器是 window 添加属性window.name1 和 window.func1window.func2 都是 undefined。严格模式中普通函数中的 this 则表现不同表现为 undefined。use strict;var name2 骁妈;var func3 function() {console.log(this window); // false}; func3(); callapply 作用之一就是改变函数的 this 指向为第一个参数。 如果第一个参数是 undefined 或者 null非严格模式下是指向 window。严格模式下就是指向第一个参数。对象中的函数方法调用模式var name3 Hiraku_Ma;var func4 function() {console.log(this, this.name);}var obj {name: mhq,func: func4,attr: {name: mhq-gs,func: func4,}}obj.func(); // Object{} obj mhqobj.attr.func(); // Object{} obj.attr mhq-gs// 用call类比则为obj.func.call(obj); // mhq// 用call类比则为obj.attr.func.call(obj.attr); // mhq-gs 函数赋值之后变成普通函数。构造函数调用模式function Example(type){this.type type;console.log(this);// return this; } var exp new Example(mhq); 使用 new 操作符调用函数会自动执行以下步骤:创建了一个全新的对象。这个对象会被执行[[Prototype]]也就是proto链接。生成的新对象会绑定到函数调用的 this。通过 new 创建的每个对象将最终被[[Prototype]]链接到这个函数的 prototype 对象上。如果函数没有返回对象类型 Object( 包含 Functoin, Array, Date, RegExg, Error )那么 new 表达式中的函数调用会自动返回这个新的对象。new 操作符调用时this 指向生成的新对象。 new 调用时的返回值如果没有显式返回对象或者函数才是返回生成的新对象。function Example(type){this.type type;console.log(this);return {};}var exp new Example(mhq); // { name: mhq }console.log(exp);// 如果返回函数 f 则 exp 是函数 f如果是对象 {} 则 exp 是对象 {} 原型链中的调用模式function Example(type){this.type type;console.log(this);}Example.prototype.func function() {console.log(this.type);};var exp new Example(mhq);exp.func(); 箭头函数调用模式var name mhq;var student {name: hiraku,func: function () {var arrowFunc () {console.log(this.name);}arrowFunc();},arrowFunc2: () {console.log(this.name);}}student.func(); // hirakustudent.arrowFunc2(); // mhq 语法更加简洁、清晰箭头函数不会创建自己的 this箭头函数的 this 指向定义时所在的外层第一个普通函数跟使用位置没有关系被继承的普通函数的 this 指向改变箭头函数的 this 指向会跟着改变箭头函数外层没有普通函数严格模式和非严格模式下它的 this 都会指向 window (全局对象)call()、apply()、bind() 无法改变箭头函数中 this 的指向箭头函数不能作为构造函数使用箭头函数没有自己的 arguments箭头函数的 this 指向全局使用 arguments 会报未声明的错误箭头函数的 this 指向普通函数时,它的 arguments 继承于该普通函数rest参数...扩展符取参数箭头函数没有原型 prototype箭头函数不能用作 Generator 函数不能使用 yeild 关键字var obj {name: mhq,func: function () {console.log(this.name);return () {console.log(arrowFn:, this.name);}}}var obj1 {name: hiraku,}obj.func().call(obj1); // mhq arrowFn: mhqobj.func.call(obj1)(); // hiraku arrowFn: hiraku DOM 事件处理函数调用onclick 和 addEventerListener 是指向绑定事件的元素。一些浏览器比如 IE6~IE8 下使用 attachEventthis 指向是 window。高阶函数Higher-order function什么是高阶函数高阶函数至少满足两个条件接受一个或多个函数作为输入输出一个函数。也可以这样理解一个函数的参数是一个函数回调函数一个函数返回一个函数函数柯里化。我们写代码时不希望破坏原有逻辑所以将原有逻辑包上一个函数这个函数内部实现自己的逻辑即切片编程。const originFunc (...args) {console.log(原函数, args);};// 希望在调用 originFunc 之前做一些事情使用 Function.prototype 给每个函数扩展一些功能Function.prototype.before function(cb) {return (...args) {cb();this(...args);};};let newFunc originFunc.before(() {console.log(before originFunc);});newFunc(a, b, c); 一个异步并发问题我同时发送多个请求希望拿到最终的结果function after(time, fn) {return () {if (--time 0) {fn();}};}const exaFun after(3, () {console.log(执行);});exaFun();exaFun();exaFun(); 示例const fs require(fs);const path require(path);function run(times, fn) {const renderObj {};return (key, value) {renderObj[key] value;console.log(key, value);if(--times 0) fn(renderObj);};}let out run(2, (result) {console.log(result);});fs.readFile(path.resolve(__dirname, 1.txt), utf8, (_, data) {console.log(data, ddd)out(1, data);});fs.readFile(path.resolve(__dirname, 2.txt), utf8, (_, data) {out(2, data);}); 函数柯里化柯里化即 Currying为了给多参数函数提供了一个递归降解的方式把提供多个参数的函数变换成接受一个单一参数的函数并且返回余下参数而且返回结果的新函数。const curring (fn, arr []) {// 长度值的是参数个数let len fn.length;return (...arg) {arr [...arr, ...arg];if (arr.length len) return curring(fn, arr);return fn(...arr);};};const add (a, b, c, d, e, f, g, h) {return a b c d e f g h;}console.log(curring1(add, [1, 2])(3, 4)(5)(6)(7, 8)) // 15 函数柯里化使用场景 参数复用 延迟执行 预加载 动态创建函数发布订阅、观察者模式观察者模式 定义了对象间的一种一对多的依赖关系当一个对象的状态发生改变时所有依赖于它的对象都将得到通知并自动更新 属于行为型模式行为型模式关注的是对象之间的通讯 * 观察者和被观察者之间的通讯const fs require(fs);const e {arr: [],on(fn) {this.arr.push(fn);},emit() {this.arr.forEach(fn fn());}};e.on(() {console.log(读取到了数据);})const renderObj {};e.on(() {if (Object.keys(renderObj).length 2) {console.log(都读取完毕了);}});fs.readFile(./name.txt, utf8, (_, data) {renderObj[name] data;e.emit();});fs.readFile(./age.txt, utf8, (_, data) {renderObj[age] data;e.emit();}); 发布订阅 就是事先存储好稍后发布的时候让事先订阅的事执行 发布者并不会直接通知订阅者换句话说发布者和订阅者彼此互不相识 * 在发布者和订阅者之间存在第三个组件称为调度中心或事件通道它维持着发布者和订阅者之间的联系过滤所有发布者传入的消息并相应地分发它们给订阅者class Subject { // 被观察者constructor(name) {this.name name;this.arr [];this.state 我很开心;}attach(observer) { // 注册观察者 基于发布订阅this.arr.push(observer);}setState(newState) {this.state newState;this.arr.forEach(o o.update(this)); // 通知所有观察者 我的状态发生了变化}}class Observer { // 观察者constructor(name) {this.name name;}update(s) {console.log(s.name 当前状态是 s.state 对: this.name);}}let s new Subject(小宝宝);let o1 new Observer(我);let o2 new Observer(我媳妇);s.attach(o1);s.attach(o2);console.log(s.state);s.setState(不开心了); 本篇文章涉及到的高阶函数使用有函数柯里化、发布订阅|观察者模式等。下篇将分享 Promise 源码手写 Promise。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

潍坊网站做的好的公司电子鲜花php网站怎么做

在Facebook上进行广告运营需要一定的技巧和策略。以下是一些建议: 明确目标:在创建广告之前,你需要明确你的目标。这可能包括增加品牌知名度、提高网站流量、增加销售等等。明确目标后,你可以将广告与这些目标相结合,…

ios移动网站开发详解网站策划与设计

1、定义 字节顺序,又称端序或尾序(英语:Endianness),在计算机科学领域中,指电脑内存中或在数字通信链路中,组成多字节的字的字节的排列顺序。 在几乎所有的机器上,多字节对象都被存储为连续的字节序列。 2、表现形式 字节的排列方式有两个通用规则。例如,将一个多位数的…

宁夏建设网站的公司电话一家只做性价比的网站

文章目录 矩阵方程有解判定定理线性方程组有解判定特化:齐次线性方程组有解判定推广:矩阵方程 A X B AXB AXB有解判定证明推论 矩阵方程有解判定定理 线性方程组有解判定 线性方程组 A x b A\bold{x}\bold{b} Axb有解的充分必要条件是它的系数矩阵A和增广矩阵 ( A , b ) (A,…

东莞做网站哪家最好网站单页别人是怎么做的

构建机器学习模型时,人们往往将激情和精力集中于收集数据和训练模型,对测试模型和验证结果往往缺少应有的关注。正确的验证技术有助于估计无偏见的广义模型的性能,并更好地理解模型训练的效果。您需要确保机器学习模型经过准确的训练&#xf…

做网站怎么做连接点下一个页面网站开发中间商怎么做

mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令。但由于现在服务器一般都带有RAID阵列卡,并且RAID阵列卡也很廉价,且由于软件RAID的自身缺陷(不能用作启动分区、使用CPU实现,降低CPU利用率),因此在生产…

net快速建站如何跟进网站建设的客户

第十届“吴文俊人工智能科学技术奖”颁奖典礼现场来源: 深城物联 4月10日,我国智能科学技术最高奖“吴文俊人工智能科学技术奖”十周年颁奖盛典北京举办。军事科学院系统工程研究院研究员、中国工程院院士李德毅荣获“吴文俊人工智能最高成就奖”&#…

兰州网站建设哪里好互联网保险公司排行榜

ESP32之避障 图片 程序 int Led27;//定义LED 接口 int buttonpin4; //定义光遮断传感器接口 int val;//定义数字变量val void setup() { pinMode(Led,OUTPUT);//定义LED 为输出接口 pinMode(buttonpin,INPUT);//定义避障传感器为输出接口 } void loop() {Serial.begin(9600);…

网站开发 培训 周末班做的网站有广告

简介: 在巍峨的数据库大厦体系中,查询优化器和事务体系是两堵重要的承重墙,二者是如此重要以至于整个数据库体系结构设计中大量的数据结构、机制和特性都是围绕着二者搭建起来的。他们一个负责如何更快的查询到数据,更有效的组织起…

邯郸wap网站建设费用做战袍网站

本博文将会不定期更新。以便记录我的驱动开发生涯中的一些点点滴滴的技术细节和琐事。 生成时link找不到导出函数,比如"LNK2019 无法解析的外部符号 _FltCreateCommunicationPort32"。出现这种情况的原因是,驱动的编译环境忽略了所有的默认库&…

河南国控建设集团招标网站怎么用ps做简单网站首页

自编译 失败很多次之后终于跑起来一个 javaopencv 的demo。 过程 主要步骤如下: 编译需要 Apache Ant brew install ant需要告诉 opencv 需要 javabuild -DBUILD_opencv_javaON brew edit opencv编辑这个我错了很多次 直接编辑完了它会默认下载未修改的openc…

入境游旅游网站建设商家入驻型网站建设

1.登录页面,显示二维码 当我们打开网页微信时,会看到一个用于扫码登录的二维码,所以我们要模拟该页面给我们的页面也弄一个二维码 通过查看网页代码我们发现,这个二维码的标签为 这个src属性的最后一段每次访问都是不同的&#xf…

青海网站建设推广ui培训学费一般多少

欢迎来到我的:世界 希望作者的文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 ! 目录 前言队列的实现层序遍历详解强化练习1.判断是不是完全二叉树求二叉树的最大深度 总结 前言 国庆到了,也要内卷一下,感…

网站建设的步骤过程如何做医美机构网站观察分析

linux下生成https的crt和key证书 步骤如下: x509证书一般会用到三类文,key,csr,crt Key 是私用密钥openssl格,通常是rsa算法。 Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使…

做网站开发的有外快嘛企业网站建设好的例子

PineApple_Ninja.js 1.本章内容 2.理解函数的重要性 3.定义函数的方式 4.参数赋值 JavaScript中最关键的函数是:第一类对象(first-class objects) 函数与对象共同存在,函数也可以被视为其他任意类型的JS对象。 函数和普通数据类…

17网站一起做网店普宁池尾网站开发符合seo结构

第一创业和聚宽停止合作!还有什么量化平台可选? 先了解背景: 从2023年9月25日起,一创聚宽的量化交易平台暂停开通交易权限,到2023年12月29日,一创聚宽量化交易平台将停止提供所有服务。这一消息对于之前使…

医院双语网站建设的意义江苏10大网站建设公司

ProxySQL 是一个高性能、高可用的 MySQL 代理软件,旨在提升 MySQL 数据库的可扩展性和性能。它可以在应用程序和 MySQL 服务器之间充当中间层,提供强大的路由、负载均衡和查询优化功能。 ProxySQL 的主要功能: 查询路由: ProxySQ…

长沙网站建设服务wordpress手机 不适应

defer 和 async 都是用于控制 HTML 中 <script> 标签加载和执行 JavaScript 的属性&#xff0c;它们的作用有所不同&#xff1a; defer&#xff1a; 当浏览器遇到带有 defer 属性的 <script> 标签时&#xff0c;它会继续解析 HTML 页面&#xff0c;同时并行下载 de…

中山网站建设找阿 n 2wordpress下载站

压敏电阻 文章目录 压敏电阻1、概述2、交流波形瞬变3、抗静电能力4、特性曲线5、压敏电阻电容值6、金属氧化物压敏电阻7、压敏电阻应用8、总结 压敏电阻是一种无源两端固态半导体器件&#xff0c;用于为电气和电子电路提供保护。 1、概述 与提供过电流保护的保险丝或断路器不同…

为什么公司的网站打不开网页设计和网站开发的区别

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境&#xff0c;它使得我们可以使用JavaScript构建高性能的后端应用程序。无论你是初学者还是有经验的开发者&#xff0c;了解如何正确安装和配置Node.js都是非常重要的。本文将介绍如何安装和配置Node.js&#xff0c;以及一…

网站怎么制作小程序网站推广开户

在工具栏Chrome图标上点击右键&#xff0c;可以“打开新窗口”或“打开新的隐身窗口”很方便&#xff0c;但是在其他电脑上尝试该操作时&#xff0c;发现有些情况下还会显示“常去网站”和“最后关闭网站”。如果关闭之&#xff1f; 经过摸索&#xff0c;发现方法如下&#xff…