js的一些奇葩用法

奇葩的匿名函数赋值##

var i18n = i18n || {};
i18n.init = function(a) {
}, function(a) {alert(a)}(window);

不知道这样写有什么用。难道就为了压缩?????wtf...按自己的理解拆分下:

var i18n = i18n || {};
i18n.init = function(a) {
}; 
(function(a) {alert(a)})(window);

小数点整除##

console.log(0.3-0.2);

console.log((0.3*100-0.2*100)/100)

作用域##

var scope='global';
function f(){
    console.log(scope);    //输出undefined,而不是 global
    var scope='local';        //赋值
    console.log(scope);    //输出local
}
因为Javascript没有块作用域的概念,而是函数作用域的概念,也就是在函数内部声明的所有变量在函数体内始终是可见的,那么上面的代码相当于
function f(){
    var scope;
    console.log(scope);    //输出undefined,而不是 global
    scope='local';        //赋值
    console.log(scope);    //输出local
}

posted @ 2016-08-17 12:15  UCanBeFree  阅读(439)  评论(0编辑  收藏  举报