美文网首页
记录一下JS的小知识点

记录一下JS的小知识点

作者: 追风的云月 | 来源:发表于2017-07-21 09:52 被阅读0次

    1.严格模式和非严格模式的区别

        严格模式 变量必须先声明,直接给变量赋值,不会隐式创建全局变量,不能用with,

        严格模式中 call apply传入null undefined保持原样不被转换为window

    2.JSON数据格式要求严格正确,不能有注释和符号错误

    3.JS最常用的垃圾收集方式是标记清除

         管理内存使用接触引用,一旦数据不再有用,将其值设置为null来释放其引用。

    4.对数组的复制,只是复制指向底层数据结构的指针,可以采用变通的复制方式

            const a1=[1,2];

            const a2=a1.concat();

            a2[0]=2;

            a1 // [1, 2]

    5.ES5比较两个值是否相等

         只有两个运算符:相等运算符(==)和严格相等运算符(===)。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。

    6.encodeURIComponent

    不会对下列字符编码 ASCII字母、数字、~!*()'

    将字符串作为URI组件编码 , 当你需要编码URL中的参数的时候,那么encodeURIComponent是最好方法。可以将URL中的参数中的 "/" 编码

    7.encodeURI

    不会对下列字符编码 ASCII字母、数字、~!@#$&*()=:/,;?+';

    如果你需要编码整个URL,然后需要使用这个URL,那么用encodeURI。

    这个URL只有空格会被编码 //不会被编码

    8.escape

    escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读。

    编码之后的效果是%XX或者%uXXXX这种形式。

    其中 ASCII字母、数字、@*/+ ,这几个字符不会被编码,其余的都会。

    如果只是编码字符串,不和URL有半毛钱关系,那么用escape。

    9.表单下载有问题:

    EXCEL中显示数字总以科学计数法显示;并且使用join(",")方法,EXCEL也不识别,任然是科学计数法

    其实这个问题跟用什么语言导出csv文件没有关系。Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法;如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0。

    解决这个问题:

    只要把数字字段后面加上显示上看不见的字符即可,字符串前面或者结尾加上制表符"\t".

    php 程序可以这样判断,注意一定是"\t",不是'\t'.

    相关文章

      网友评论

          本文标题:记录一下JS的小知识点

          本文链接:https://www.haomeiwen.com/subject/jcvskxtx.html