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
}