Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var a = {}, b = {};
console.log(a === b);
abc === undefined; // true - только если abc = undefined!(function(undefined) {
// тут правильный undefined
})();
undefined = trueabs === void 0abc === void 0;abc == undefined; // true, если abc = undefined | null | 0 | false | '' | а также [] в IE6
console.log( 0 == undefined ); // false
console.log( false == undefined ); // false
console.log( '' == undefined ); // false
Number.prototype.a = function(){}();
Number.b = 7;
var a = 123,
b = Infinity,
c = new Number(b);
c.b = b.b = a.a = true;
console.log(typeof a.a); // ?
console.log(typeof b.b); // ?
console.log(typeof c.a); // ?
console.log(typeof c.b); // ?function isEq(a, b){
if(a == b) return true;
for(var i in a){
if(!isEq(a[i], b[i])) return false;
}
for(var i in b){
if(!isEq(a[i], b[i])) return false;
}
return true;
}
function isEq(){return true} захотелось расширить, а просто 5 не расширяется
5..property = "value";Да, любое число — это объект класса Number.
(function() { console.log(this === 5); }).call(5) // false
(function() { "use strict"; console.log(this === 5); }).call(5) // true
Отличия == и === в JavaScript