今天遇到一个神奇的问题--万能的alert出问题了,javascript怎么办?
2012-03-07 22:08 PHP淮北 阅读(9211) 评论(15) 编辑 收藏 举报摘要:本文讨论关于js中万能的调试函数alert的长度问题
前言:
js中万能的调试工具alert可谓是屡试不爽的利器,不过今天在调试的时候意外发现一个很有意思的问题,在这里和大家一起讨论。
鉴于作者js菜鸟一枚,还望高手指点一二。
alert出问题了?
今天下午在把ajax返回的数据拼装成字符串,以便减少对DOM的多次插入问题的时候,alert拼装成的字符串的时候发现,字符串不完整,貌似被自动截断了,刚开始以为是js中的字符串难到还有长度限制,晚上回去的时候测试了一下,alert与字符串的问题。
测试代码:这里采用for循环1000次拼装成一个字符串,然后alert
1 2 3 4 5 6 7 8 9 10 11 12 13 | <div id= 'count' width=100% height=30 style= "background:red; font-size:30" ></div> <script type= "text/javascript" > var html = "" ; for (i=0;i<10000;i++){ html += '' +i+ 'abcdefghij' } alert(html) document.getElementById( "count" ).innerHTML = html; </script> |
alert测试的截图:
可以看到这个字符串很明显被截断了:字符串最后几个是774abcdefghij775abcdefghij776abcdefghij777abcdef
也就是alert只显示了778次的循环值,
在看我这个这个拼接的字符串显示在页面的截图:
字符串正好是循环10000次的字符串值,说明js中的字符串目前没有长度限制的。
那么alert字符串难道有字符串限制?
我们错了计算一下alert出了多长的字符串
10*777+ 6 +10 +90*2+ 678*3=10000字符
一个英文占一个字节,那么这个字符串的长度是10000字节/1024大约是10kb
但是为什么会是这样呢?
自己在百度谷歌搜索alert长度 却得到不到答案,也没有相关资源,
博客园里有很多人写js教程,希望js高手帮我解析一下,为什么万能的alert有长度限制?
本文标题有标题党嫌疑,但是为了解决这个问题,各位就见谅了
本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名:PHP10086博客网(PHP淮北):http://www.php10086.com,也可以邮件与我联系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库