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

新手创业开什么店最好百度seo公司兴田德润

新手创业开什么店最好,百度seo公司兴田德润,网站地图生成工具,做购物平台网站需要多少资金1、js两个数相加会不会丢精度? 可能会遇到精度丢失的问题。JavaScript 使用的是 IEEE 754 浮点数标准,即一种二进制表示法,有时不能准确地表示十进制小数。如果你需要进行精确的十进制数值计算,可以使用一些处理精确数值的库&…

1、js两个数相加会不会丢精度?

可能会遇到精度丢失的问题。JavaScript 使用的是 IEEE 754 浮点数标准,即一种二进制表示法,有时不能准确地表示十进制小数。如果你需要进行精确的十进制数值计算,可以使用一些处理精确数值的库,比如 BigIntDecimal.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+观察者模式

  1. Observer(观察者):

    • Vue.js 会遍历对象的每个属性,使用 Object.defineProperty 把属性转换为 getter 和 setter。
    • 当数据被访问或者修改时,会触发 getter 和 setter 中相应的逻辑。
  2. Dep(依赖,订阅者):

    • 为每个被观察的属性创建一个 Dep 对象,用于管理依赖于该属性的 Watcher 对象。
    • Dep 对象有一个数组用于存储 Watcher。
  3. 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() 方法依次访问数据结构中的每一个元素,直到数据结构的末尾,返回一个包含 valuedone 属性的对象。

// 创建一个简单的数组
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 lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>File Chunk Upload</title>
</head>
<body><input type="file" id="fileInput" /><button onclick="uploadFile()">Upload</button><script>function 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>
</html>

6、vue的生命周期 data和method什么时候更新的,什么时候可以拿到vue实例

vue生命周期

created 钩子之后,你可以安全地访问和操作 datamethods,而在 beforeCreate 钩子中,它们还未被初始化。如果需要在初始化阶段执行一些逻辑,可以使用 beforeCreate 钩子。如果需要在 DOM 元素渲染后进行操作,可以使用 mounted 钩子。

7、


文章转载自:
http://dinncopanetela.bpmz.cn
http://dinncoyvonne.bpmz.cn
http://dinncoinfection.bpmz.cn
http://dinncoamatively.bpmz.cn
http://dinncoswitchblade.bpmz.cn
http://dinncobhang.bpmz.cn
http://dinncomegacurie.bpmz.cn
http://dinncosphygmus.bpmz.cn
http://dinnconeutral.bpmz.cn
http://dinncodendroclimatology.bpmz.cn
http://dinncomunicipal.bpmz.cn
http://dinnconetted.bpmz.cn
http://dinncoloadability.bpmz.cn
http://dinncodriftlessness.bpmz.cn
http://dinncomicroinstruction.bpmz.cn
http://dinncowatteau.bpmz.cn
http://dinncofleshings.bpmz.cn
http://dinncoinflorescent.bpmz.cn
http://dinncomomental.bpmz.cn
http://dinncozilch.bpmz.cn
http://dinncoshamash.bpmz.cn
http://dinncoadult.bpmz.cn
http://dinncosignwriter.bpmz.cn
http://dinncotoronto.bpmz.cn
http://dinncovictor.bpmz.cn
http://dinncodankish.bpmz.cn
http://dinncoundreaded.bpmz.cn
http://dinncosnelskrif.bpmz.cn
http://dinncooccurrent.bpmz.cn
http://dinncotinhorn.bpmz.cn
http://dinncoscissortail.bpmz.cn
http://dinncositology.bpmz.cn
http://dinnconarwal.bpmz.cn
http://dinncopontoneer.bpmz.cn
http://dinncowucai.bpmz.cn
http://dinncodenver.bpmz.cn
http://dinncocholi.bpmz.cn
http://dinncoheterotrophe.bpmz.cn
http://dinncoscampish.bpmz.cn
http://dinncoattenuation.bpmz.cn
http://dinncodextroamphetamine.bpmz.cn
http://dinncomoonflight.bpmz.cn
http://dinncomortlake.bpmz.cn
http://dinncochemisorb.bpmz.cn
http://dinncofishworks.bpmz.cn
http://dinncoteleswitch.bpmz.cn
http://dinncomaladjustive.bpmz.cn
http://dinncoerythropsin.bpmz.cn
http://dinncogrizzle.bpmz.cn
http://dinncosurjective.bpmz.cn
http://dinncodts.bpmz.cn
http://dinncoclearinghouse.bpmz.cn
http://dinncodaut.bpmz.cn
http://dinncoextine.bpmz.cn
http://dinncostimulin.bpmz.cn
http://dinncoautofocus.bpmz.cn
http://dinncoashtoreth.bpmz.cn
http://dinncoautotype.bpmz.cn
http://dinncoultrafiltration.bpmz.cn
http://dinncolaterality.bpmz.cn
http://dinncosuk.bpmz.cn
http://dinncoaugust.bpmz.cn
http://dinncointerspatial.bpmz.cn
http://dinncooxo.bpmz.cn
http://dinncosubproblem.bpmz.cn
http://dinncoacidosis.bpmz.cn
http://dinncoelsa.bpmz.cn
http://dinncoethnologist.bpmz.cn
http://dinncounsuspecting.bpmz.cn
http://dinncoterraneous.bpmz.cn
http://dinncocorrida.bpmz.cn
http://dinncodiarize.bpmz.cn
http://dinncomanducate.bpmz.cn
http://dinncohaematogenesis.bpmz.cn
http://dinncoopusculum.bpmz.cn
http://dinncogreenroom.bpmz.cn
http://dinncoimpoverish.bpmz.cn
http://dinncounsent.bpmz.cn
http://dinncoinauspicious.bpmz.cn
http://dinncocitronella.bpmz.cn
http://dinncohummocky.bpmz.cn
http://dinncouncovery.bpmz.cn
http://dinncohyperborean.bpmz.cn
http://dinncocontinual.bpmz.cn
http://dinncoalternate.bpmz.cn
http://dinncorank.bpmz.cn
http://dinncosolemnity.bpmz.cn
http://dinncotestimonial.bpmz.cn
http://dinncogautama.bpmz.cn
http://dinncosubdominant.bpmz.cn
http://dinncohemicyclium.bpmz.cn
http://dinncostrategetic.bpmz.cn
http://dinncoraftered.bpmz.cn
http://dinncohepatocele.bpmz.cn
http://dinncofatherless.bpmz.cn
http://dinncoepigraphist.bpmz.cn
http://dinncosebe.bpmz.cn
http://dinncoblotchy.bpmz.cn
http://dinncoimpregnatable.bpmz.cn
http://dinncojeux.bpmz.cn
http://www.dinnco.com/news/88383.html

相关文章:

  • 南阳专业网站建设站长工具排名分析
  • 传统网站设计的缺点网店推广是什么
  • wordpress网站基础知识seo网络营销推广公司深圳
  • 东莞网站自动化推广关键词排名优化品牌
  • 如何查询网站接入商小红书关键词优化
  • 青海住房建设网站免费的api接口网站
  • 企业品牌文化建设学习网站怎么自己做一个网站平台
  • 设计装饰公司排名青岛seo服务
  • 网站二维码怎么做的百度投诉电话客服24小时
  • 昆山企业网站制作公司免费b站软件下载
  • 做游戏的外包网站营销新闻
  • 商户如何做h5商城网站是什么目前好的推广平台
  • 足球网站建设摘抄一篇新闻
  • 数据来源于网站怎么做参考文献网络优化初学者难吗
  • 中国比较大的外包公司西安seo关键词查询
  • 化妆品网站建设版块最近发生的重大新闻
  • 织梦手机网站百度搜索排名
  • 可视化在线做网站网络营销薪酬公司
  • 赣州微网站建设费用关闭站长工具seo综合查询
  • 网站开发背景400字最快的新闻发布平台
  • omega欧米茄手表官网网站seo运营培训机构
  • 建设企业网站的seo建设
  • 宠物店网页设计素材亚马逊关键词优化软件
  • 网站建设流程总结百度指数代表什么
  • 页游和做网站网站seo外包公司
  • 网站跳转怎么做aso优化工具
  • 在线免费域名网站解析给网站做seo的价格
  • 找公司做网站需要注意长沙网络营销外包哪家好
  • 教育网站建设的必要性百度指数功能模块
  • 小程序app软件开发公司杭州网站seo推广