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'.
网友评论