Javascript中那些偏门的知识

 1、(functiong(){})() 和 (function(){}())有细微差别,()是强制运算符,第一种写法强制返回函数本身,然后调用;第二种写法是强制返回函数执行的结果。

2、json格式的数据里面的key不能用变量

3、关于scrollTop,clientHeight等属性的获取

 
document.documentElement.clientHeight || document.body.clientHeight;
 
document.documentElement一定要写在前面,document.body.clientHeight正常访问返回的是页面的body高度,而不是浏览器窗口高度,只有在IE怪异模式下,才返回的是浏览器高度
 
4、js操作生成大量DOM对象使用createDocumentFragment
 
5、函数表达式定义时,后面的函数添加名字
var a = 1,
    b = function a(x) {
        x && a(--x);
    };
alert(a);


b 那个是函数表达式,函数表达式的名字只在内部有效,有问题的是 IE,函数名会暴露给全局

6、getAttribute("style")

 
IE6,7返回Object,高级为string
原文地址:https://www.cnblogs.com/qiangspecial/p/3576269.html