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

手机端网站欣赏wordpress能恢复修改前吗

手机端网站欣赏,wordpress能恢复修改前吗,wordpress ajax 慢,wordpress快速仿站视频教程js数据精度丢失 最近看面试题想到了之前在开发钟遇到过的问题,现总结一下 在开发过程中,发现从后台返回的数据结构中的id字段在前端显示为不正确的值。经过排查,怀疑是JavaScript中Number类型精度丢失的问题。通过将id字段的类型从Number改为…

js数据精度丢失

最近看面试题想到了之前在开发钟遇到过的问题,现总结一下

在开发过程中,发现从后台返回的数据结构中的id字段在前端显示为不正确的值。经过排查,怀疑是JavaScript中Number类型精度丢失的问题。通过将id字段的类型从Number改为String进行测试,确认了问题的根源。尝试在前端获取数据后立即转换为String类型,但发现数据在JavaScript中接收时精度已经丢失,因此最佳解决方案是让后端将id字段的类型改为String。
在开发的时候,后台返回了一个数据结构如下

const list= [{id: 421234567891234567,name: '数据1'},{id: 421234567891234668,name: '数据2'},{id: 421234567891234679,name: '数据3'},{id: 421234567891234697,name: '数据4'}]
<template><button @click="btn">按钮</button>
</template>
<script setup lang="ts">const num: Array<{ id: number, name: string }> = [{id: 421234567891234567,name: '数据1'},{id: 421234567891234668,name: '数据2'},{id: 421234567891234679,name: '数据3'},{id: 421234567891234697,name: '数据4'}]const btn = () => {console.log('num:', num)}
</script>

通过打印发现数据结果如下图

通过图片发现数据和原始数据不一样了

开始怀疑是数据传输过程造成的,换乘postman 测试发现数据正常

最后怀疑是js在Number类型时精度丢失,于是讲数据换乘String类型测试


<template><button @click="btn">按钮</button>
</template>
<script setup lang="ts">const num1: Array<{ id: string, name: string }> = [{id: '421234567891234567',name: '数据1'},{id: '421234567891234668',name: '数据2'},{id: '421234567891234679',name: '数据3'},{id: '421234567891234697',name: '数据4'}]const btn = () => {console.log('num1:', num1)}
</script>

打印结果如下图

发现确实是Number类型时精度丢失,于是让后端将id改成了String类型

后来想前端能不能解决于是就有了一下的一些尝试

前端获取到数据后就转换一下

<template><button @click="btn">按钮</button>
</template>
<script setup lang="ts">
const num: Array<{ id: number, name: string }> = [{id: 421234567891234567,name: '数据1'
}, {id: 421234567891234668,name: '数据2'
}, {id: 421234567891234679,name: '数据3'
}, {id: 421234567891234697,name: '数据4'
}]const btn = () => {const num2 = num.map((item) => {return {...item, id: item.id.toString()}})console.log('num2', num2)
}
</script>

结果发现不行

最后还实验了别的方法都不行,在js拿到数据的那一刻数据的精度就已经丢失了,最好的方法还是后端去转换

js的数据最大精度为2的53次方 也就是最大只能是9007199254740992

js的数据最小精度为2的-53次方 也就是最大只能是-9007199254740992

js数据范围-9007199254740992~9007199254740992

http://www.yayakq.cn/news/999560/

相关文章:

  • 输入网址跳到别的网站丢了么网站
  • asp网站vps搬家做视频类网站需要哪些许可
  • 网站建设工作室有几个部门企业网站优化是什么
  • 电脑做系统网站哪里租服务器做网站
  • 做户外旅游网站百度信息流投放技巧
  • 在线动画手机网站模板上海的网站名
  • 东南亚做棋牌网站传奇网站建设
  • 怀化三中网站公司网站公司简介宣传夸大受处罚
  • 建一个com网站要多少钱wordpress 如何调整
  • 深圳地产网站建设广州营销咨询公司
  • 基于推荐算法的网站开发网站上哪个做相片书好
  • 徐州人才网官方网站网站做网页
  • 怎么做像京东一样的网站短视频推广渠道有哪些
  • 用xp做网站是否先搭建iiswordpress 购物插件
  • 昆明安宁网站建设公司关键词广告
  • 怎么样做网站卖东西孝感做网站
  • 秦皇岛网站建设哪家好wordpress menu icon
  • 可以免费发帖的网站湛江招聘网
  • 如何建设国外的网站泉州专业做网站
  • 环保网站源码一个域名怎么用来做多个网站
  • 蒙古网站后缀seo优化 搜 盈seo公司
  • 国美网站建设特点创意视差wordpress主题
  • 天津网站制作系统二手书交易网站开发毕业设计
  • 万网人网站备案流程快递网站域名更换
  • 做网站去哪里可以找高清的图片网站建设公司介绍ppt
  • 国外商城网站设计公司官网怎么编辑
  • 自己做企业网站用哪个软件徐州免费模板建站
  • 如何做好网站推广方法建大网站
  • 网站构成要素礼品定制
  • 为什么大网站的百度快照更新速度慢还排第一西安查派网站建设