zoukankan      html  css  js  c++  java
  • 今天遇到一个神奇的问题万能的alert出问题了,javascript怎么办?

    摘要:本文讨论关于js中万能的调试函数alert的长度问题

    前言:

    js中万能的调试工具alert可谓是屡试不爽的利器,不过今天在调试的时候意外发现一个很有意思的问题,在这里和大家一起讨论。

    鉴于作者js菜鸟一枚,还望高手指点一二。

    alert出问题了?

    今天下午在把ajax返回的数据拼装成字符串,以便减少对DOM的多次插入问题的时候,alert拼装成的字符串的时候发现,字符串不完整,貌似被自动截断了,刚开始以为是js中的字符串难到还有长度限制,晚上回去的时候测试了一下,alert与字符串的问题。

    测试代码:这里采用for循环1000次拼装成一个字符串,然后alert

    <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测试的截图:

    QQ截图20120307213114

    可以看到这个字符串很明显被截断了:字符串最后几个是774abcdefghij775abcdefghij776abcdefghij777abcdef

    也就是alert只显示了778次的循环值,

    在看我这个这个拼接的字符串显示在页面的截图:

    QQ截图20120307213829

    字符串正好是循环10000次的字符串值,说明js中的字符串目前没有长度限制的。

    那么alert字符串难道有字符串限制?

    我们错了计算一下alert出了多长的字符串

    10*777+ 6 +10 +90*2+ 678*3=10000字符

    一个英文占一个字节,那么这个字符串的长度是10000字节/1024大约是10kb

    但是为什么会是这样呢?

    自己在百度谷歌搜索alert长度 却得到不到答案,也没有相关资源,

    博客园里有很多人写js教程,希望js高手帮我解析一下,为什么万能的alert有长度限制?

    本文标题有标题党嫌疑,但是为了解决这个问题,各位就见谅了

    Technorati 标签: js,alert

    知识共享许可协议本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名:PHP10086博客网(PHP淮北):http://www.php10086.com,也可以邮件与我联系

  • 相关阅读:
    删库跑路技术白皮书
    linux shell文件截取前几行,后几行,中间几行命令
    python 带参数 单步执行 (调试 pdb)
    分区助手专业版 v6.2 如何把win10系统迁移到SSD固态硬盘
    GUPPY 3.1.5 安装
    Java调用其他语言
    python代码中获取python版本号的方法
    f-Strings:Python 3格式字符串的新方法(f字符串)
    Centos 安装 pigz
    #!/usr/bin/env python与#!/usr/bin/python的区别
  • 原文地址:https://www.cnblogs.com/phphuaibei/p/2384321.html
Copyright © 2011-2022 走看看