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

青少年心理建设网站怎样做网站链接

青少年心理建设网站,怎样做网站链接,重庆市建设工程造价信息2020,阆中网站建设1、js两个数相加会不会丢精度#xff1f; 可能会遇到精度丢失的问题。JavaScript 使用的是 IEEE 754 浮点数标准#xff0c;即一种二进制表示法#xff0c;有时不能准确地表示十进制小数。如果你需要进行精确的十进制数值计算#xff0c;可以使用一些处理精确数值的库 可能会遇到精度丢失的问题。JavaScript 使用的是 IEEE 754 浮点数标准即一种二进制表示法有时不能准确地表示十进制小数。如果你需要进行精确的十进制数值计算可以使用一些处理精确数值的库比如 BigInt、Decimal.js 或者 big.js。 2、整数溢出 在 JavaScript 中整数溢出是指超出了 JavaScript 数值类型的范围导致无法准确表示这个整数。如果需要处理大整数可以考虑使用 BigInt 类型或者使用第三方库来处理。 3、接口调用超时抛出错误怎么实现 用Promise.race实现其 接受一个包含多个 Promise 的可迭代对象比如数组并返回一个新的 Promise该 Promise 将与最先解决fulfilled或拒绝rejected的 值。 function timeoutPromise(ms) {return new Promise((resolve, reject) {setTimeout(() {reject(new Error(接口调用超时));}, ms);}); }function apiCall() {return new Promise((resolve, reject) {// 模拟异步接口调用setTimeout(() {resolve(接口调用成功);}, 500);}); }// 设置超时时间 const timeoutDuration 300;// 使用 Promise.race 同时执行接口调用和超时 Promise Promise.race([apiCall(), timeoutPromise(timeoutDuration)]).then((result) {// 如果接口调用在超时前完成result 将是接口调用的结果console.log(result);}).catch((error) {// 如果超时或者接口调用出错error 将是相应的错误对象console.error(error.message);});4、 发布订阅者模式和观察者模式区别 发布-订阅者模式 使用一个消息代理消息通道或者事件总线作为中介发布者和订阅者之间没有直接联系而是通过事件中心进行通信。EventBus.观察者模式 观察者直接订阅被观察者被观察者维护观察者列表当状态发生变化时直接通知观察者。Observer. 4.1 观察者模式 // 被观察者Subject class Subject {constructor() {this.observers []; // 观察者列表}// 添加观察者addObserver(observer) {this.observers.push(observer);}// 移除观察者removeObserver(observer) {this.observers this.observers.filter(obs obs ! observer);}// 通知观察者状态变化notifyObservers(message) {this.observers.forEach(observer observer.update(message));} }// 观察者Observer class Observer {constructor(name) {this.name name;}// 被观察者通知时调用的方法update(message) {console.log(${this.name} 收到通知: ${message});} }// 创建被观察者和观察者 const newsSubject new Subject();const observer1 new Observer(Observer 1); const observer2 new Observer(Observer 2);// 观察者订阅被观察者 newsSubject.addObserver(observer1); newsSubject.addObserver(observer2);// 被观察者通知观察者 newsSubject.notifyObservers(新闻更新: 今天发生了一些重要事件。);4.2 Vue.js 中的响应式原理 Object.defineProperty观察者模式 Observer观察者 Vue.js 会遍历对象的每个属性使用 Object.defineProperty 把属性转换为 getter 和 setter。当数据被访问或者修改时会触发 getter 和 setter 中相应的逻辑。 Dep依赖订阅者 为每个被观察的属性创建一个 Dep 对象用于管理依赖于该属性的 Watcher 对象。Dep 对象有一个数组用于存储 Watcher。 Watcher桥梁 Watcher 对象会订阅一个或多个 Dep 对象。当被观察的数据发生变化时Watcher 对象会收到通知从而执行相应的回调函数。 function defineReactive(obj, key, val) {let dep new Dep();Object.defineProperty(obj, key, {enumerable: true,configurable: true,get() {if (Dep.target) {dep.addSub(Dep.target);}return val;},set(newVal) {if (newVal ! val) {val newVal;dep.notify();}}}); }class Dep {constructor() {this.subs [];}addSub(sub) {this.subs.push(sub);}notify() {this.subs.forEach(sub sub.update());} }class Watcher {constructor() {Dep.target this;}update() {console.log(数据发生变化执行更新操作);} }Dep.target null;const data {}; defineReactive(data, message, Hello, Vue!);const watcher new Watcher();// 模拟触发数据变化 data.message Hello, Vue.js!;5、迭代器是什么 迭代器Iterator是 JavaScript 中的一个接口它提供了一种顺序访问数据结构如数组、Map、Set 等元素的方法。迭代器对象可以通过 next() 方法依次访问数据结构中的每一个元素直到数据结构的末尾返回一个包含 value 和 done 属性的对象。 // 创建一个简单的数组 const myArray [apple, banana, cherry];// 获取迭代器对象 const iterator myArray[Symbol.iterator]();// 使用迭代器对象遍历数组元素 let result iterator.next(); while (!result.done) {console.log(result.value);result iterator.next(); }myArray 是一个包含三个元素的数组。通过 [Symbol.iterator]() 获取了该数组的迭代器对象 iterator。使用 iterator.next() 方法来依次访问数组中的每个元素直到 done 属性为 true表示迭代结束。 6、前端可以通过文件切片上传断点传输 前端可以通过文件切片上传File Chunking的方式来实现大文件的上传这有助于避免上传过程中遇到的一些问题例如网络中断导致整个文件上传失败的情况。 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleFile Chunk Upload/title /head bodyinput typefile idfileInput /button onclickuploadFile()Upload/buttonscriptfunction uploadFile() {const fileInput document.getElementById(fileInput);const file fileInput.files[0];const chunkSize 1024 * 1024; // 1MBconst totalChunks Math.ceil(file.size / chunkSize);let currentChunk 0;function uploadChunk() {const start currentChunk * chunkSize;const end Math.min((currentChunk 1) * chunkSize, file.size);const chunk file.slice(start, end);const formData new FormData();formData.append(fileChunk, chunk);formData.append(totalChunks, totalChunks);formData.append(currentChunk, currentChunk);// 使用 XMLHttpRequest 或 Fetch API 发送 formData 到服务器// ...currentChunk;if (currentChunk totalChunks) {// 继续上传下一个块uploadChunk();} else {// 所有块上传完成服务器处理合并等操作console.log(File upload complete!);}}// 开始上传第一个块uploadChunk();}/script /body /html6、vue的生命周期 data和method什么时候更新的什么时候可以拿到vue实例 vue生命周期 在 created 钩子之后你可以安全地访问和操作 data 和 methods而在 beforeCreate 钩子中它们还未被初始化。如果需要在初始化阶段执行一些逻辑可以使用 beforeCreate 钩子。如果需要在 DOM 元素渲染后进行操作可以使用 mounted 钩子。 7、
http://www.dnsts.com.cn/news/142167.html

相关文章:

  • 网站运营是什么网站轮播图怎么做的
  • 企业网站建设总结报告wordpress如何导入附件
  • 建设局查询网站win2008 iis7发布网站
  • 网站的建设思想鲜花网站建设的目标
  • 无锡网站建设选千客云网络济南网站建设方案报价
  • 建设网站需要什么基础知识如何给网站添加cnzz
  • 网站建设信息公开和解读回应有关网站开发的创意
  • 加强学院网站建设注册网址怎么注册
  • 免费建站的站点网站自学网页设计要多久
  • 免费网站建设专业的公司网站直播怎么做
  • 四川建行网站企业sns网站需求
  • 中学生做的安全作业网站网站交换链接的网络营销意义
  • 网站建设技术流程图磁力搜索引擎2023
  • 学做网站需要多长时间做外贸网站公司哪家好
  • 常德网站建设详细策划公司注册资金实缴政策
  • 电商网页精品欣赏网站怎么用php源代码做网站
  • 网站建设广告方案一级造价工程师报名时间
  • 江西省城乡建设培训中心网站织梦做音乐网站
  • 网站 数据库 sql 导入google play服务
  • 租网站服务器精品课程网站的设计与实现
  • 网站的建站方案wordpress 基本插件
  • 网站二维码弹窗2022成都解封倒计时
  • 网站建设时如何选择合适的服务器新浪云wordpress教程
  • 全球访问量最大的10个网站学生个人作品集制作
  • 本地常州网站建设建设网站 注册与登陆
  • 做免费推广的网站有哪些平台与网站有什么区别
  • 网站建设代理政策东莞网站推广技巧
  • 计算机网站开发工作证福建设计院网站
  • asp.net 发布网站 ftp看剧资源网站怎么做的
  • 做ppt的图片素材网站有哪些二维码生成器制作