日期:2014-05-16  浏览次数:20584 次

JS-2

JS还是有些奇怪的东西的 也不知道怎么去看源码 才能知道这奇怪的来源

?

isNaN(5/0); // false
isNaN(0/0); // true

5/0; // infinity

0.1 + 0.2; // 0.30000000000000004

Math.round((0.1+0.2)*100)/100; // 0.3

?

JS的Object是基于key-value的map机制实现的,并且往往是string-object的搭配

JS可以用Object作为key,但是也是转换为object.toString来判断key值

?

var obj = {};
var otherObj = {
    name: "other"
};

var map = {};
map[obj] = 'first';
map[otherObj] = 'second';

map[obj]; // This is 'second'.

// Recall that object keys are strings. The string
// generated by an object is '[object Object]' by default.
// So, obj and otherObj have the same key; 
// map[obj] and map[otherObj] are therefore equivalent.

console.log(obj.toString);
console.log(otherObj.toString);
?