Przykłady JS
W tym rozdziale znajdziesz wykaz wszystkich przykładów kodu źródłowego, które znajdują się w kategorii JS. Aby sprawdzić bardziej szczegółowy opis, kliknij odnośnik "Zobacz więcej..." pod wybraną grupą przykładów.
W tym rozdziale znajdziesz wykaz wszystkich przykładów kodu źródłowego, które znajdują się w kategorii JS. Aby sprawdzić bardziej szczegółowy opis, kliknij odnośnik "Zobacz więcej..." pod wybraną grupą przykładów.
NaN == 1; // false NaN == 0; // false NaN == false; // false NaN == null; // false NaN == NaN; // false NaN === NaN; // false NaN == Infinity; // false NaN == undefined; // false
Infinity > 1; // true -Infinity < 0; // true 1 * Infinity; // Infinity -1 * Infinity; // -Infinity 1 / Infinity; // 0
var x; x == undefined; // true x = 1; x == undefined; // false function f(a) { return a == undefined; } f(); // true f(1); // false
eval("2 + 2"); // 4 eval(1); // 1 var x = true; function f(a) { return a + '!'; } eval("if (x) f('ok'); else f('error');"); // 'ok!' eval('('); // SyntaxError eval('return 1'); // SyntaxError
eval(new String("2 + 2")); // new String("2 + 2")
parseInt(" +1A "); // 1 parseInt("1.9"); // 1 parseInt("-1.1"); // -1 parseInt("1A", 8); // 1 parseInt("10", 8); // 8 parseInt("0x1A"); // 26 parseInt("1a", 16); // 26 parseInt("test"); // NaN parseInt(0, 0); // 0 == parseInt(0, 10) parseInt(0, 1); // NaN parseInt(0, 37); // NaN
parseFloat(" +1A "); // 1 parseFloat("1.9"); // 1.9 parseFloat("-1.1"); // -1.1 parseFloat("314e-2"); // 3.14 parseFloat("0.0314E+2"); // 3.14 parseFloat("0x1A"); // 0 parseFloat("test"); // NaN
isNaN(parseInt("1")); // false isNaN(parseInt("test")); // true
isFinite(Infinity); // false isFinite(-Infinity); // false isFinite(1); // true isFinite(1 / 0); // false
decodeURI("http://example.com/%7Btest%7D"); // "http://example.com/{test}" decodeURI("%XX"); // URIError
decodeURIComponent("%7Btest%7D"); // "{test}" decodeURIComponent("%XX"); // URIError
encodeURI("http://example.com/{test}"); // "http://example.com/%7Btest%7D" encodeURI("\uDC00"); // URIError
encodeURIComponent("{test}"); // "%7Btest%7D" encodeURIComponent("\uDC00"); // URIError
Object(true); // new Boolean(true) Object(1); // new Number(1) Object("test"); // new String("test") Object(); // new Object() Object(null); // new Object() Object(undefined); // new Object()
new Object(true); // new Boolean(true) new Object(1); // new Number(1) new Object("test"); // new String("test") new Object(); // {} new Object(null); // {} new Object(undefined); // {} var obj = {}; new Object(obj) === obj; // true new Object(obj) === {}; // false
Object.getPrototypeOf({}); Object.getPrototypeOf(true); // TypeError Object.getPrototypeOf(1); // TypeError Object.getPrototypeOf("test"); // TypeError Object.getPrototypeOf(null); // TypeError
Object.getOwnPropertyDescriptor({p: 1}, "p"); // {value: 1, writable: true, enumerable: true, configurable: true} Object.getOwnPropertyDescriptor({}, "p"); // undefined var Cls = function () { this.p = 1; }; Cls.prototype.m = function () {}; var obj = new Cls(); Object.getOwnPropertyDescriptor(obj, "p"); // {value: 1, writable: true, enumerable: true, configurable: true} Object.getOwnPropertyDescriptor(obj, "m"); // undefined Object.getOwnPropertyDescriptor(true, "p"); // TypeError Object.getOwnPropertyDescriptor(1, "p"); // TypeError Object.getOwnPropertyDescriptor("test", "p"); // TypeError Object.getOwnPropertyDescriptor(null, "p"); // TypeError
Object.getOwnPropertyNames({p: 1}); // ["p"] Object.getOwnPropertyNames({}); // [] var obj = {}; Object.defineProperty(obj, "p", {enumerable: false}); Object.getOwnPropertyNames(obj); // ["p"] var Cls = function () { this.p = 1; }; Cls.prototype.m = function () {}; obj = new Cls(); Object.getOwnPropertyNames(obj); // ["p"] Object.getOwnPropertyNames(true); // TypeError Object.getOwnPropertyNames(1); // TypeError Object.getOwnPropertyNames("test"); // TypeError Object.getOwnPropertyNames(null); // TypeError
Object.getPrototypeOf(Object.create(null)) === null; // true var obj = Object.create(Object.prototype); Object.getPrototypeOf(obj) === Object.getPrototypeOf({}); // true Object.create({}, {p: {value: 1}}).p; // 1 Object.create(true); // TypeError Object.create(1); // TypeError Object.create("test"); // TypeError
var obj = {test: 3}; Object.defineProperty(obj, "p", {value: 1}); obj.p = 2; obj.p; // 1 for (var key in obj) key; // "test" Object.defineProperty(obj, "dynamic", { get: function () { return obj.test * 2; }, set: function (value) { obj.test = value < 0 ? NaN : value / 2; } }); obj.dynamic; // 6 obj.dynamic = 4; obj.test // 2 obj.dynamic = -1; obj.test; // NaN Object.defineProperty(obj, "p", {writable: true}); // TypeError Object.defineProperty(true, "p", {}); // TypeError Object.defineProperty(1, "p", {}); // TypeError Object.defineProperty("test", "p", {}); // TypeError Object.defineProperty(null, "p", {}); // TypeError
var obj = Object.defineProperties({}, { test: {value: 3, writable: true, enumerable: true, configurable: true}, p: {value: 1} }); obj.p = 2; obj.p; // 1 for (var key in obj) key; // "test" Object.defineProperties(obj, {p: {writable: true}}); // TypeError Object.defineProperties(true, {}); // TypeError Object.defineProperties(1, {}); // TypeError Object.defineProperties("test", {}); // TypeError Object.defineProperties(null, {}); // TypeError
var obj = Object.defineProperty({p: 1}, "x", {configurable: true}); delete obj.p; obj.p; // undefined obj.test = 3; Object.seal(obj); obj.test; // 3 obj.test = 2; obj.test; // 2 delete obj.test; obj.test; // 2 obj.p = 1; obj.p; // undefined Object.defineProperty(obj, "x", {configurable: true}); // TypeError Object.defineProperty(obj, "p", {}); // TypeError Object.seal(true); // TypeError Object.seal(1); // TypeError Object.seal("test"); // TypeError Object.seal(null); // TypeError
var obj = Object.defineProperty({p: 1}, "x", {configurable: true}); delete obj.p; obj.p; // undefined obj.test = 3; Object.freeze(obj); obj.test; // 3 obj.test = 2; obj.test; // 3 delete obj.test; obj.test; // 3 obj.p = 1; obj.p; // undefined Object.defineProperty(obj, "x", {configurable: true}); // TypeError Object.defineProperty(obj, "p", {}); // TypeError Object.freeze(true); // TypeError Object.freeze(1); // TypeError Object.freeze("test"); // TypeError Object.freeze(null); // TypeError
var obj = Object.defineProperty({p: 1}, "x", {value: 2, writable: false, configurable: true}); delete obj.p; obj.test; // undefined obj.test = 3; Object.preventExtensions(obj); obj.test; // 3 obj.test = 2; obj.test; // 2 delete obj.test; obj.test; // undefined obj.p = 1; obj.p; // undefined obj.x = 1; obj.x; // 2 Object.defineProperty(obj, "x", {writable: true}); obj.x = 1; obj.x; // 1 Object.defineProperty(obj, "p", {}); // TypeError Object.preventExtensions(true); // TypeError Object.preventExtensions(1); // TypeError Object.preventExtensions("test"); // TypeError Object.preventExtensions(null); // TypeError
Object.isSealed({}); // false Object.isSealed(Object.seal({})); // true Object.isSealed(Object.freeze({})); // true Object.isSealed(Object.preventExtensions({})); // true var obj = Object.preventExtensions(Object.defineProperty({}, "x", {writable: false, configurable: false})); Object.isSealed(obj); // true obj = Object.preventExtensions(Object.defineProperty({}, "x", {writable: true, configurable: false})); Object.isSealed(obj); // true obj = Object.defineProperty({}, "x", {configurable: false}); Object.isSealed(obj); // false obj = Object.preventExtensions(Object.defineProperty({}, "x", {configurable: true})); Object.isSealed(obj); // false Object.isSealed(true); // TypeError Object.isSealed(1); // TypeError Object.isSealed("test"); // TypeError Object.isSealed(null); // TypeError
Object.isFrozen({}); // false Object.isFrozen(Object.seal({})); // true Object.isFrozen(Object.freeze({})); // true Object.isFrozen(Object.preventExtensions({})); // true var obj = Object.preventExtensions(Object.defineProperty({}, "x", {writable: false, configurable: false})); Object.isFrozen(obj); // true obj = Object.preventExtensions(Object.defineProperty({}, "x", {writable: true, configurable: false})); Object.isFrozen(obj); // false obj = Object.defineProperty({}, "x", {configurable: false}); Object.isFrozen(obj); // false obj = Object.preventExtensions(Object.defineProperty({}, "x", {configurable: true})); Object.isFrozen(obj); // false Object.isFrozen(true); // TypeError Object.isFrozen(1); // TypeError Object.isFrozen("test"); // TypeError Object.isFrozen(null); // TypeError
Object.isExtensible({}); // true Object.isExtensible(Object.seal({})); // false Object.isExtensible(Object.freeze({})); // false Object.isExtensible(Object.preventExtensions({})); // false var obj = Object.defineProperty({}, "x", {configurable: false}); Object.isExtensible(obj); // true Object.isExtensible(true); // TypeError Object.isExtensible(1); // TypeError Object.isExtensible("test"); // TypeError Object.isExtensible(null); // TypeError
Object.keys({p: 1}); // ["p"] Object.keys({}); // [] var obj = {}; Object.defineProperty(obj, "p", {enumerable: false}); Object.keys(obj); // [] Object.keys(true); // TypeError Object.keys(1); // TypeError Object.keys("test"); // TypeError Object.keys(null); // TypeError
Object.prototype.constructor === Object; // true new Object().constructor === Object; // true Object.prototype.constructor === Boolean; // false Object.prototype.constructor === Number; // false Object.prototype.constructor === String; // false Object.prototype.constructor === Array; // false
new Object().toString(); // "[object Object]" new Object() + ""; // "[object Object]" Object.prototype.toString.call(undefined); // "[object Undefined]" Object.prototype.toString.call(null); // "[object Null]" Object.prototype.toString.call(new Boolean(true)); // "[object Boolean]" Object.prototype.toString.call(new Number(1)); // "[object Number]" Object.prototype.toString.call(new String("test")); // "[object String]" Object.prototype.toString.call(new Array()); // "[object Array]" Object.prototype.toString.call(true); // "[object Boolean]" Object.prototype.toString.call(1.2); // "[object Number]" Object.prototype.toString.call("test"); // "[object String]" var Cls = function () {}; new Cls() + ""; // "[object Object]" Object.prototype.toString.call(new Cls()); // "[object Object]" Cls.prototype.toString = function () { return "[object Cls]"; }; new Cls() + ""; // "[object Cls]"
new Object().toLocaleString(); // "[object Object]" Object.prototype.toLocaleString.call(true); // "true" Object.prototype.toLocaleString.call(1.2); // "1.2" Object.prototype.toLocaleString.call("test"); // "test" Object.prototype.toLocaleString.call(undefined); // TypeError Object.prototype.toLocaleString.call(null); // TypeError
Object(true).valueOf(); // true Object(1).valueOf(); // 1 Object("test").valueOf(); // "test" var obj = {}; obj.valueOf() === obj; // true
var obj = {test: 1, x: undefined}; obj.m = function () {}; obj.hasOwnProperty("test"); // true obj.hasOwnProperty("x"); // true obj.hasOwnProperty("m"); // true obj.hasOwnProperty("p"); // false delete obj.x; obj.hasOwnProperty("x"); // false var Cls = function () { this.p = 1; }; Cls.prototype.m = function () {}; obj = new Cls(); obj.hasOwnProperty("p"); // true obj.hasOwnProperty("m"); // false
var Device = function () {}; var Computer = function () {}; Computer.prototype = Object.create(Device.prototype); var Laptop = function () {}; Laptop.prototype = Object.create(Computer.prototype); Device.prototype.isPrototypeOf(new Device()); // true Device.prototype.isPrototypeOf(new Computer()); // true Device.prototype.isPrototypeOf(new Laptop()); // true Computer.prototype.isPrototypeOf(new Laptop()); // true Object.prototype.isPrototypeOf(new Laptop()); // true Object.prototype.isPrototypeOf({}); // true Computer.prototype.isPrototypeOf(new Device()); // false Object.prototype.isPrototypeOf(true); // false Object.prototype.isPrototypeOf(1); // false Object.prototype.isPrototypeOf("test"); // false Object.prototype.isPrototypeOf(null); // false
var obj = {test: undefined}; Object.defineProperty(obj, "p", {enumerable: false}); obj.propertyIsEnumerable("test"); // true obj.propertyIsEnumerable("p"); // false obj.propertyIsEnumerable("x"); // false
var f = new Function(); f(); // undefined f = new Function("return 1"); f(); // 1 f = new Function("a", "b", "return a + b"); f(1, 2); // 3 f = new Function("a, b", "c", "return (a + b) * c"); f(1, 2, 3); // 9 // Funkcja anonimowa: f = function (a, b, c) { return (a + b) * c; }; f(1, 2, 3); // 9 new Function("{"); // SyntaxError new Function("a + b", "return 1"); // SyntaxError
var f = function (a, b) { return a + b; }; f.length; // 2 f.length = 1; f.length; // 2 f(); // NaN f(1, 2, 3); // 3
Function.length; // 1 Function.length = 2; Function.length; // 1 Object.keys(Function); // []
Function.prototype.constructor === Function; // true new Function().constructor === Function; // true Function.prototype.constructor === Object; // false
new Function().toString(); // np.: "function anonymous() {\n\n}" new Function("a", "b", "return a + b") + ""; // np.: "function anonymous(a, b) {\nreturn a + b\n}" Function.prototype.toString.call({}); // TypeError Function.prototype.toString.call(null); // TypeError Function.prototype.toString.call(undefined); // TypeError
var f = function (a, b) { return a + b; }; var args = [1, 2]; f(args); // "1,2undefined" f.apply(null, args); // 3 var Person = function (name) { this.name = name; }; Person.prototype.speak = function (speech) { return this.name + ": " + speech; }; var Computer = function (name) { this.name = name; }; var obj = new Computer('HAL 9000'); var txt = 'My mind is going. I can feel it.'; Person.prototype.speak.apply(obj, [txt]); // "HAL 9000: My mind is going. I can feel it." Function.prototype.apply.call(null); // TypeError Function.prototype.apply.call(undefined); // TypeError Function.prototype.apply.call("test"); // TypeError Function.prototype.apply.call({}); // TypeError f.apply(null, "test"); // TypeError
var f = function (a, b) { return a + b; }; f(1, 2); // 3 f.call(null, 1, 2); // 3 var Person = function (name) { this.name = name; }; Person.prototype.speak = function (speech) { return this.name + ": " + speech; }; var Computer = function (name) { this.name = name; }; var obj = new Computer('HAL 9000'); var txt = 'My mind is going. I can feel it.'; Person.prototype.speak.call(obj, txt); // "HAL 9000: My mind is going. I can feel it." Function.prototype.call.call(null); // TypeError Function.prototype.call.call(undefined); // TypeError Function.prototype.call.call("test"); // TypeError Function.prototype.call.call({}); // TypeError
var Person = function (name) { this.name = name; }; Person.prototype.speak = function (volume, speech) { return this.name + " (" + volume + "): " + speech; }; var Computer = function (name) { this.name = name; }; Computer.prototype.execute = function (command, args) { return command.apply(this, args); }; var person = new Person("John"); var f = person.speak.bind(person, "loudly"); var computer = new Computer("HAL 9000"); computer.execute(f, ["Hello world!"]); // "John (loudly): Hello world!" var args = ["silently", "My mind is going. I can feel it."]; computer.execute(person.speak, args); // "HAL 9000 (silently): My mind is going. I can feel it." Function.prototype.bind.call(null, person); // TypeError Function.prototype.bind.call(undefined, person); // TypeError Function.prototype.bind.call("test", person); // TypeError Function.prototype.bind.call({}, person); // TypeError
new Array(); // [] new Array(0); // [] new Array(1); // [undefined] new Array("1"); // ["1"] new Array(null); // [null] new Array(undefined); // [undefined] var items = new Array(true, NaN, Infinity, {}); items[5] = []; for (var i = 0; i < items.length; ++i) items[i]; // true, NaN, Infinity, {}, undefined, [] new Array(-1); // RangeError new Array(1.2); // RangeError new Array(NaN); // RangeError new Array(Infinity); // RangeError
var items = [1, 2, 3]; items.length = 2; items; // [1, 2] items.length = 3; items; // [1, 2, undefined] items.length = true; items; // [1] items.length = false; items; // [] items.length = null; items; // [] items.length = ""; items; // [] items.length = -1; // RangeError items.length = 1.2; // RangeError items.length = NaN; // RangeError items.length = Infinity; // RangeError items.length = "test"; // RangeError
Array.isArray([]); // true Array.isArray(new Array()); // true Array.isArray(Array()); // true Array.isArray(Array); // false Array.isArray({}); // false Array.isArray(new Object()); // false Array.isArray(true); // false Array.isArray(1); // false Array.isArray("test"); // false Array.isArray(null); // false Array.isArray(undefined); // false Array.isArray(NaN); // false Array.isArray(Infinity); // false
Array.prototype.constructor === Array; // true new Array().constructor === Array; // true Array.prototype.constructor === Object; // false
new Array([true, 1, "test"]).toString(); // "true,1,test" [false, 0, "", null, undefined, NaN, Infinity] + ""; // "false,0,,,,NaN,Infinity"
new Array([1000.2]).toLocaleString(); // np.: "1 000,2" new Array([1000.2]).toString(); // "1000.2" var date = new Date(2000, 0, 31, 20, 30); new Array([date]).toLocaleString(); // np.: "31 styczeń 2000 20:30:00" new Array([date]).toString(); // np.: "Mon Jan 31 2000 20:30:00 GMT+0100" var obj = {}; obj.toLocaleString = undefined; new Array([obj]).toLocaleString(); // TypeError
var items = [1, 2]; items.concat(); // [1, 2] items.concat(3); // [1, 2, 3] items.concat(3, [4, 5]); // [1, 2, 3, 4, 5] items; // [1, 2]
var items = [1, 2]; items.join("; "); // "1; 2" "[" + items.join(", ") + "]"; // "[1, 2]"
var items = [1, 2]; items.pop(); // 2 items; // [1] items.pop(); // 1 items; // [] items.pop(); // undefined
var items = [1, 2]; items.push(); // 2 items; // [1, 2] items.push(3, [4.1, 4.2]); // 4 items; // [1, 2, 3, [4.1, 4.2]]
var items = [1, 2, [3.1, 3.2]]; items.reverse(); // [[3.1, 3.2], 2, 1] items; // [[3.1, 3.2], 2, 1]
var items = [1, 2]; items.shift(); // 1 items; // [2] items.shift(); // 2 items; // [] items.shift(); // undefined
var items = [1, 2, 3, 4]; items.slice(); // [1, 2, 3, 4] items.slice(1); // [2, 3, 4] items.slice(-2); // [3, 4] == items.slice(2); items.slice(1, 3); // [2, 3] items.slice(1, -1); // [2, 3] == items.slice(1, 3); items.slice(-3, -1); // [2, 3] items.slice(0, 0); // [] items.slice(1, 1); // [] items.slice(3, 1); // [] items.slice(-1, -2); // [] == items.slice(3, 2); items; // [1, 2, 3, 4]
var items = [3, 2, 1]; items.sort(); // [1, 2, 3] items; // [1, 2, 3] var f = function (x, y) { return y - x; }; items.sort(f); // [3, 2, 1] items; // [3, 2, 1] var persons = [{name: "John"}, {name: "Anna"}, {name: "Tom"}]; f = function (x, y) { if (x.name < y.name) return -1; if (x.name > y.name) return 1; return 0; }; persons.sort(f); // [{name: "Anna"}, {name: "John"}, {name: "Tom"}]
var items = [1, 2, 3, 4, 5]; items.splice(); // [] items; // [1, 2, 3, 4, 5] items.slice(0, 0); // [] items; // [1, 2, 3, 4, 5] items.splice(1, 2); // [2, 3] items; // [1, 4, 5] items.splice(1, 0, 2, 3); // [] items; // [1, 2, 3, 4, 5] items.splice(-2, 2); // [4, 5] == items.splice(3, 2); items; // [1, 2, 3] items.splice(1, 1, [2.1, 2.2]); // [2] items; // [1, [2.1, 2.2], 3] items.splice(1, 10, 2, 3, 4, 5); // [[2.1, 2.2], 3] items; // [1, 2, 3, 4, 5]
var items = [1, 2]; items.unshift(); // 2 items; // [1, 2] items.unshift([-1.2, -1.1], 0); // 4 items; // [[-1.2, -1.1], 0, 1, 2]
var items = [1, 2, 3, 1]; items.indexOf(1); // 0 items.indexOf(1, 1); // 3 items.indexOf(1, -3); // 3 == items.indexOf(1, 2) items.indexOf(1, -10); // 0 == items.indexOf(1, 0) items.indexOf(1, 10); // -1 == items.indexOf(1, 4) items.indexOf(0); // -1
var items = [1, 2, 3, 1]; items.lastIndexOf(1); // 3 items.lastIndexOf(1, -2); // 0 == items.lastIndexOf(1, 2) items.lastIndexOf(1, 2); // 0 items.lastIndexOf(1, 10); // 3 items.lastIndexOf(1, -10); // -1 items.lastIndexOf(0); // -1
var items = [3, 2, 1]; var f = function (x) { return x > 0; }; items.every(f); // true f = function (x) { return x < 0; }; items.every(f); // false var GreaterThan = function (value) { this.value = value; this.tests = 0; }; GreaterThan.prototype.test = function (value) { ++this.tests; return value > this.value; }; var tester = new GreaterThan(0); items.every(tester.test, tester); // true tester.tests; // 3 tester = new GreaterThan(2); items.every(tester.test, tester); // false tester.tests; // 2 items = [1, 2]; items[3] = 3; items.length; // 4 tester = new GreaterThan(0); items.every(tester.test, tester); // true tester.tests; // 3 items.every(null); // TypeError items.every(undefined); // TypeError items.every({}); // TypeError
var items = [3, 2, 1]; var f = function (x) { return x > 0; }; items.some(f); // true f = function (x) { return x < 0; }; items.some(f); // false var GreaterThan = function (value) { this.value = value; this.tests = 0; }; GreaterThan.prototype.test = function (value) { ++this.tests; return value > this.value; }; var tester = new GreaterThan(0); items.some(tester.test, tester); // true tester.tests; // 1 tester = new GreaterThan(4); items.some(tester.test, tester); // false tester.tests; // 3 items = [1, 2]; items[3] = 3; items.length; // 4 tester = new GreaterThan(4); items.some(tester.test, tester); // false tester.tests; // 3 items[2] = undefined; items.length; // 4 tester = new GreaterThan(4); items.some(tester.test, tester); // false tester.tests; // 4 items.some(null); // TypeError items.some(undefined); // TypeError items.some({}); // TypeError
var items = [3, 2, 1]; var sum = 0; var f = function (x) { sum += x; }; items.forEach(f); sum; // 6; var GreaterThan = function (value) { this.value = value; this.tests = 0; this.sum = 0; }; GreaterThan.prototype.test = function (value) { ++this.tests; if (value > this.value) { this.sum += value; return true; } return false; }; var tester = new GreaterThan(0); items.forEach(tester.test, tester); tester.sum; // 6 tester = new GreaterThan(1); items.forEach(tester.test, tester); tester.sum; // 5 // Przerwanie pętli w trakcie: tester = new GreaterThan(2); items.every(tester.test, tester); tester.sum; // 3 tester.tests; // 2 items = [1, 2]; items[3] = 3; items.length; // 4 tester = new GreaterThan(0); items.forEach(tester.test, tester); tester.sum; // 6 tester.tests; // 3 items[2] = undefined; items.length; // 4 tester = new GreaterThan(0); items.forEach(tester.test, tester); tester.sum; // 6 tester.tests; // 4 items.forEach(null); // TypeError items.forEach(undefined); // TypeError items.forEach({}); // TypeError
var items = [3, 2, 1]; var f = function (x) { return -x; }; items.map(f); // [-3, -2, -1] items; // [3, 2, 1] var GreaterThan = function (value) { this.value = value; this.tests = 0; }; GreaterThan.prototype.test = function (value) { ++this.tests; return value > this.value ? -value : value; }; tester = new GreaterThan(1); items.map(tester.test, tester); // [-3, -2, 1] items = [1, 2]; items[3] = 3; items.length; // 4 tester = new GreaterThan(0); items.map(tester.test, tester); // [-1, -2, undefined, -3] tester.tests; // 3 items[2] = undefined; items.length; // 4 tester = new GreaterThan(0); items.map(tester.test, tester); // [-1, -2, undefined, -3] tester.tests; // 4 items.map(null); // TypeError items.map(undefined); // TypeError items.map({}); // TypeError
var items = [3, 2, 1]; var f = function (x) { return x > 1; }; items.filter(f); // [3, 2] items; // [3, 2, 1] var GreaterThan = function (value) { this.value = value; this.tests = 0; }; GreaterThan.prototype.test = function (value) { ++this.tests; return value > this.value; }; tester = new GreaterThan(2); items.filter(tester.test, tester); // [3] tester.tests; // 3 items = [1, 2]; items[3] = 3; items.length; // 4 tester = new GreaterThan(0); items.filter(tester.test, tester); // [1, 2, 3] tester.tests; // 3 items[2] = undefined; items.length; // 4 tester = new GreaterThan(0); items.filter(tester.test, tester); // [1, 2, 3] tester.tests; // 4 items.filter(null); // TypeError items.filter(undefined); // TypeError items.filter({}); // TypeError
var items = [3, 2, 1]; var f = function (a, x) { a += x; return a; }; items.reduce(f, 0); // 6 var GreaterThan = function (value) { this.value = value; this.tests = 0; }; GreaterThan.prototype.test = function (sum, value) { ++this.tests; if (value > this.value) sum += value; return sum; }; tester = new GreaterThan(1); f = tester.test.bind(tester); items.reduce(f); // 5 tester.tests; // 2 tester = new GreaterThan(1); f = tester.test.bind(tester); items.reduce(f, 0); // 5 tester.tests; // 3 items = [1, 2]; items[3] = 3; items.length; // 4 tester = new GreaterThan(0); f = tester.test.bind(tester); items.reduce(f, 0); // 6 tester.tests; // 3 items[2] = undefined; items.length; // 4 tester = new GreaterThan(0); f = tester.test.bind(tester); items.reduce(f, 0); // 6 tester.tests; // 4 items.reduce(null); // TypeError items.reduce(undefined); // TypeError items.reduce({}); // TypeError [].reduce(f); // TypeError new Array(3).reduce(f); // TypeError
String(); // "" String(undefined); // "undefined" String(null); // "null" String(true); // "true" String(false); // "false" String(0); // "0" String(-1.2); // "-1.2" String(NaN); // "NaN" String(Infinity); // "Infinity" String("test"); // "test"
new String(); // new String() new String(undefined); // new String("undefined") new String(null); // new String("null") new String(true); // new String("true") new String(false); // new String("false") new String(0); // new String("0") new String(-1.2); // new String("-1.2") new String(NaN); // new String("NaN") new String(Infinity); // new String("Infinity") new String("test"); // new String("test")
var str = "abc"; str.length; // 3 str.length = 1; str.length; // 3 str; // "abc"
String.fromCharCode(97, 98, 99); // "abc" String.fromCharCode(65633); // "a" (65633 % 65536 = 97) String.fromCharCode(-65439); // "a" (-65439 % 65536 + 65536 = 97) String.fromCharCode(97.9); // "a" String.fromCharCode(" +97.9 "); // "a" String.fromCharCode(); // "" String.fromCharCode(undefined); // "" String.fromCharCode(null); // "" String.fromCharCode(false); // "" String.fromCharCode(0); // "" String.fromCharCode(NaN); // "" String.fromCharCode(Infinity); // "" String.fromCharCode(""); // "" String.fromCharCode("test"); // "" String.fromCharCode("97 test"); // ""
String.prototype.constructor === String; // true new String().constructor === String; // true String.prototype.constructor === Object; // false
new String("test").valueOf(); // "test" String.prototype.valueOf.call("test"); // "test" String.prototype.valueOf.call(null); // TypeError String.prototype.valueOf.call(undefined); // TypeError String.prototype.valueOf.call({}); // TypeError
"abc".charAt(); // "a" "abc".charAt(0); // "a" "abc".charAt(" +0.9 "); // "a" "abc".charAt(null); // "a" "abc".charAt(undefined); // "a" "abc".charAt(NaN); // "a" "abc".charAt("test"); // "a" "abc".charAt(false); // "a" "abc".charAt(true); // "b" "abc".charAt(-1); // "" "abc".charAt(3); // "" "abc".charAt(Infinity); // "" "".charAt(0); // ""
"abc".charCodeAt(); // 97 "abc".charCodeAt(0); // 97 "abc".charCodeAt(" +0.9 "); // 97 "abc".charCodeAt(null); // 97 "abc".charCodeAt(undefined); // 97 "abc".charCodeAt(NaN); // 97 "abc".charCodeAt("test"); // 97 "abc".charCodeAt(false); // 97 "abc".charCodeAt(true); // 98 "abc".charCodeAt(-1); // NaN "abc".charCodeAt(3); // NaN "abc".charCodeAt(Infinity); // NaN "".charCodeAt(0); // NaN
"abc".concat(); // "abc" "abc".concat("def", "ghi"); // "abcdefghi" "test ".concat(null); // "test null" "test ".concat(false); // "test false" "test ".concat(undefined); // "test undefined" "test ".concat(+1.2); // "test 1.2" "test ".concat(NaN); // "test NaN" "test ".concat(Infinity); // "test Infinity"
"abc def abc".indexOf("a"); // 0 "abc def abc".indexOf("abc"); // 0 "abc def abc".indexOf("abc", 1); // 8 "abc def abc".indexOf("abc", -8); // 0 == "abc def abc".indexOf("abc", 0) "abc def abc".indexOf("abc", 30); // -1 == "abc def abc".indexOf("abc", 11) "abc def abc".indexOf("ghi"); // -1 "abc def abc".indexOf("ABC"); // -1
"abc def abc".lastIndexOf("a"); // 8 "abc def abc".lastIndexOf("abc"); // 8 "abc def abc".lastIndexOf("abc", 1); // 0 "abc def abc".lastIndexOf("abc", -8); // 0 == "abc def abc".lastIndexOf("abc", 0) "abc def abc".lastIndexOf("abc", 30); // 8 == "abc def abc".lastIndexOf("abc", 11) "abc def abc".lastIndexOf("ghi"); // -1 "abc def abc".lastIndexOf("ABC"); // -1
"abc".localeCompare("def") < 0; // true "def" > "abc"; // true "def".localeCompare("abc") > 0; // true "ą" < "b"; // false "ą".localeCompare("b"); < 0; // true "b" > "ą"; // false "b".localeCompare("ą") > 0; // true var chars = [ " ", "`", "-", "=", "[", "]", "|", ";", "'", ",", ".", "/", "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "{", "}", "\\", ":", "\"", "<", ">", "?", "1", "0", "2", "3", "5", "7", "4", "6", "8", "9", "n", "c", "a", "o", "b", "p", "d", "g", "q", "e", "m", "r", "h", "f", "s", "i", "l", "v", "w", "x", "j", "y", "u", "k", "z", "t", "N", "C", "A", "O", "B", "P", "D", "G", "Q", "E", "M", "R", "H", "F", "S", "I", "L", "V", "W", "X", "J", "Y", "U", "K", "Z", "T", "ż", "ó", "ł", "ć", "ę", "ś", "ą", "ź", "ń", "Ż", "Ó", "Ł", "Ć", "Ę", "Ś", "Ą", "Ź", "Ń" ]; var f = function (x, y) { return String.prototype.localeCompare.call(x, y); }; chars.sort(f); // np.: ["'", "-", " ", "!", "\"", "#", "$", "%", "&", "(", ")", "*", ",", ".", // "/", ":", ";", "?", "@", "[", "\\", "]", "^", "`", "{", "|", "}", "~", // "<", "=", ">", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", // "a", "A", "ą", "Ą", "b", "B", "c", "C", "ć", "Ć", "d", "D", "e", "E", // "ę", "Ę", "f", "F", "g", "G", "h", "H", "i", "I", "j", "J", "k", "K", // "l", "L", "ł", "Ł", "m", "M", "n", "N", "ń", "Ń", "o", "O", "ó", "Ó", // "p", "P", "q", "Q", "r", "R", "s", "S", "ś", "Ś", "t", "T", "u", "U", // "v", "V", "w", "W", "x", "X", "y", "Y", "z", "Z", "ź", "Ź", "ż", "Ż"]
"abcd efg abc".match(/abc/); // ["abc"] "abcd efg abc".match(/(ab)c/); // ["abc", "ab"] "ABCd efg abc".match(/abc/i); // ["ABC"] "ABCd efg abc".match(/(ab)c/i); // ["ABC", "AB"] "abcd efg abc".match(/abc/g); // ["abc", "abc"] "abcd efg abc".match(/(ab)c/g); // ["abc", "abc"] "ABCd efg abc".match(/abc/ig); // ["ABC", "abc"] "ABCd efg abc".match(/(ab)c/ig); // ["ABC", "abc"] "abcd efg abc".match(/hij/); // null "abcd efg abc".match(/ABC/); // null "abcd efg abc".match(/(AB)C/); // null "abcd efg abc".match(/hij/g); // null "abcd efg abc".match(/ABC/g); // null "abcd efg abc".match(/(AB)C/g); // null
"abcd efg abc".replace("abc", "123"); // "123d efg abc" "abcd efg abc".replace(/abc/, "123"); // "123d efg abc" "abcd efg abc".replace(/abc/g, "123"); // "123d efg 123" "ABCd efg abc".replace(/abc/i, "123"); // "123d efg abc" "ABCd efg abc".replace(/abc/ig, "123"); // "123d efg 123" var search = /((a)b)(c)/; var replace = "$$[$`,$&,$',$1-$01,$2-$02,$3-$03]$$"; "123 abc 456".replace(search, replace); // "123 $[123 ,abc, 456,ab-ab,a-a,c-c]$ 456" replace = "[$&,$1,$2,$3]"; "ABC abc".replace(/((a)b)(c)/ig, replace); // "[ABC,AB,A,C] [abc,ab,a,c]" replace = function (substring, capture1, capture2, capture3, offset, string) { return "[" + substring + "," + capture1 + "," + capture2 + "," + capture3 + "," + offset + "," + string + "]"; }; "123 abc 456".replace(search, replace); // "123 [abc,ab,a,c,4,123abc456] 456"
"abc def abc".search(/a[a-z]/); // 0 "abc def abc".search(/abc?/); // 0 "abc def abc".search(/ABC?/i); // 0 "abc def abc".search(/ghi?/); // -1 "abc def abc".search(/ABC?/); // -1
"abcd".slice(); // "abcd" "abcd".slice(1); // "bcd" "abcd".slice(-2); // "cd" == "abcd".slice(2) "abcd".slice(1, 3); // "bc" "abcd".slice(1, -1); // "bc" == "abcd".slice(1, 3) "abcd".slice(-3, -1); // "bc" == "abcd".slice(1, 3) "abcd".slice(0, 0); // "" "abcd".slice(1, 1); // "" "abcd".slice(3, 1); // "" "abcd".slice(-1, -2); // "" == "abcd".slice(3, 2)
"abc".split(); // ["abc"] "".split(); // [""] "".split(""); // [] "".split(/a?/); // [] "".split("a"); // [""] "".split(/a/); // [""] "abc".split(""); // ["a", "b", "c"] "abc".split(/a?/); // ["a", "b", "c"] "abc".split("a"); // ["", "bc"] "abcba".split("b"); // ["a", "c", "a"] "abc".split("c"); // ["ab", ""] "abcba".split(/b/); // ["a", "c", "a"] "abcdba".split(/b(c)?/); // ["a", "c", "d", undefined, "a"]
"abcd".substring(); // "abcd" "abcd".substring(1); // "bcd" "abcd".substring(-2); // "abcd" "abcd".substring(1, 3); // "bc" "abcd".substring(3, 1); // "bc" == "abcd".substring(1, 3) "abcd".substring(1, -1); // "a" == "abcd".substring(0, 1) "abcd".substring(0, 0); // "" "abcd".substring(1, 1); // "" "abcd".substring(-3, -1); // "" == "abcd".substring(0, 0) "abcd".substring(-1, -2); // "" == "abcd".substring(0, 0)
var str = "AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ"; str.toLowerCase(); // "aąbcćdeęfghijklłmnńoópqrsśtuvwxyzźż" "AbcQX 123".toLowerCase(); // "abcqx 123"
var str = "AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ"; str.toLocaleLowerCase(); // np.: "aąbcćdeęfghijklłmnńoópqrsśtuvwxyzźż" "AbcQX 123".toLocaleLowerCase(); // np.: "abcqx 123"
var str = "aąbcćdeęfghijklłmnńoópqrsśtuvwxyzźż"; str.toUpperCase(); // "AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ" "Abcqx 123".toUpperCase(); // "ABCQX 123"
var str = "aąbcćdeęfghijklłmnńoópqrsśtuvwxyzźż"; str.toLocaleUpperCase(); // np.: "AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ" "Abcqx 123".toLocaleUpperCase(); // np.: "ABCQX 123"
"\t A B C\r\n".trim(); // "A B C"
// true: Boolean(true); Boolean(1); Boolean(-1.2); Boolean(Infinity); Boolean(-Infinity); Boolean("test"); Boolean(" "); Boolean("null"); Boolean("false"); Boolean("0"); Boolean("undefined"); Boolean("NaN"); Boolean([]); Boolean([false]); Boolean({}); // false: Boolean(); Boolean(undefined); Boolean(null); Boolean(false); Boolean(0); Boolean(NaN); Boolean("");
// new Boolean(true): new Boolean(true); new Boolean(1); new Boolean(-1.2); new Boolean(Infinity); new Boolean(-Infinity); new Boolean("test"); new Boolean(" "); new Boolean("null"); new Boolean("false"); new Boolean("0"); new Boolean("undefined"); new Boolean("NaN"); new Boolean([]); new Boolean([false]); new Boolean({}); // new Boolean(false): new Boolean(); new Boolean(undefined); new Boolean(null); new Boolean(false); new Boolean(0); new Boolean(NaN); new Boolean("");
Boolean.prototype.constructor === Boolean; // true new Boolean().constructor === Boolean; // true Boolean.prototype.constructor === Object; // false
true.toString(); // "true" new Boolean().toString(); // "false" Boolean.prototype.toString.call(false); // "false" Boolean.prototype.toString.call(null); // TypeError Boolean.prototype.toString.call(undefined); // TypeError Boolean.prototype.toString.call(NaN); // TypeError Boolean.prototype.toString.call(0); // TypeError Boolean.prototype.toString.call(""); // TypeError Boolean.prototype.toString.call({}); // TypeError
true.valueOf(); // true new Boolean().valueOf(); // false Boolean.prototype.valueOf.call(false); // false Boolean.prototype.valueOf.call(null); // TypeError Boolean.prototype.valueOf.call(undefined); // TypeError Boolean.prototype.valueOf.call(NaN); // TypeError Boolean.prototype.valueOf.call(0); // TypeError Boolean.prototype.valueOf.call(""); // TypeError Boolean.prototype.valueOf.call({}); // TypeError
Number(); // 0 Number(undefined); // NaN Number(null); // 0 Number(true); // 1 Number(false); // 0 Number(new Boolean()); // 0 Number(0); // 0 Number(1); // 1 Number(-1.2); // -1.2 Number(Infinity); // Infinity Number(new Number()); // 0 Number("test"); // NaN Number(" +1.2 "); // 1.2 Number("0xA"); // 10 Number("1 test"); // NaN Number("false"); // NaN Number(" "); // 0 Number(""); // 0 Number(new String()); // 0 Number([]); // 0 == Number("") Number([0]); // 0 == Number("0") Number([1]); // 1 == Number("1") Number([1, 2, 3]); // NaN == Number("1,2,3") Number([true]); // NaN == Number("true") Number({}); // NaN == Number("[object Object]") var obj = {}; obj.valueOf = undefined; obj.toString = undefined; Number(obj); // TypeError
new Number(); // new Number(0) new Number(undefined); // new Number(NaN) new Number(null); // new Number(0) new Number(true); // new Number(1) new Number(false); // new Number(0) new Number(new Boolean()); // new Number(0) new Number(0); // new Number(0) new Number(1); // new Number(1) new Number(-1.2); // new Number(-1.2) new Number(Infinity); // new Number(Infinity) new Number(new Number()); // new Number(0) new Number("test"); // new Number(NaN) new Number(" +1.2 "); // new Number(1.2) new Number("0xA"); // new Number(10) new Number("1 test"); // new Number(NaN) new Number("false"); // new Number(NaN) new Number(" "); // new Number(0) new Number(""); // new Number(0) new Number(new String()); // new Number(0) new Number([]); // new Number(0) new Number([0]); // new Number(0) new Number([1]); // new Number(1) new Number([1, 2, 3]); // new Number(NaN) new Number([true]); // new Number(NaN) new Number({}); // new Number(NaN) var obj = {}; obj.valueOf = undefined; obj.toString = undefined; new Number(obj); // TypeError
Number.MAX_VALUE; // 1.7976931348623157e+308 Number.MAX_VALUE = 1; Number.MAX_VALUE; // 1.7976931348623157e+308
Number.MIN_VALUE; // 5e-324 Number.MIN_VALUE = 1; Number.MIN_VALUE; // 5e-324
Number.NaN; // NaN Number.NaN = 1; Number.NaN; // NaN
Number.NEGATIVE_INFINITY; // -Infinity Number.NEGATIVE_INFINITY = 1; Number.NEGATIVE_INFINITY; // -Infinity
Number.POSITIVE_INFINITY; // Infinity Number.POSITIVE_INFINITY = 1; Number.POSITIVE_INFINITY; // Infinity
Number.prototype.constructor === Number; // true new Number().constructor === Number; // true Number.prototype.constructor === Object; // false
(+1000.2).toString(); // "1000.2" (10).toString(); // "10" (10).toString(8); // "12" (10).toString(16); // "a" Number.prototype.toString.call(Infinity); // "Infinity" Number.prototype.toString.call(NaN); // "NaN" Number.prototype.toString.call(null); // TypeError Number.prototype.toString.call(undefined); // TypeError Number.prototype.toString.call("1"); // TypeError Number.prototype.toString.call({}); // TypeError
(1000.2).toLocaleString(); // np.: "1 000,2" (1000.2).toString(); // "1000.2"
new Number(1).valueOf(); // 1 new Number(-1.2).valueOf(); // -1.2 new Number(NaN).valueOf(); // NaN new Number(Infinity).valueOf(); // Infinity Number.prototype.valueOf.call(null); // TypeError Number.prototype.valueOf.call(undefined); // TypeError Number.prototype.valueOf.call(""); // TypeError Number.prototype.valueOf.call("1"); // TypeError Number.prototype.valueOf.call({}); // TypeError
(1.2).toFixed(); // "1" (1.5).toFixed(); // "2" (1.25).toFixed(1); // "1.3" (1.2).toFixed(3); // "1.200" (-12.3).toFixed(3); // "-12.300" NaN.toFixed(); // "NaN" Infinity.toFixed(); // "Infinity" (1).toFixed(-1); // RangeError (1).toFixed(21); // RangeError
(1.2).toExponential(); // "1.2e+0" (1.5).toExponential(); // "1.5e+0" (1.25).toExponential(1); // "1.3e+0" (1.2).toExponential(3); // "1.200e+0" (1).toExponential(); // "1e+0" (10).toExponential(); // "1e+1" (100).toExponential(); // "1e+2" (1000).toExponential(); // "1e+3" (10000).toExponential(); // "1e+4" (-12.3).toExponential(3); // "-1.230e+1" NaN.toExponential(); // "NaN" Infinity.toExponential(); // "Infinity" (1).toExponential(-1); // RangeError (1).toExponential(21); // RangeError
(1.2).toPrecision(); // "1.2" == (1.2).toString() (1.2).toPrecision(1); // "1" (1.5).toPrecision(1); // "2" (1.25).toPrecision(1); // "1" (1.2).toPrecision(3); // "1.20" (1).toPrecision(3); // "1.00" (10).toPrecision(3); // "10.0" (100).toPrecision(3); // "100" (1000).toPrecision(3); // "1.00e+3" (10000).toPrecision(3); // "1.00e+4" (-12.3).toPrecision(3); // "-1.23" NaN.toPrecision(); // "NaN" Infinity.toPrecision(); // "Infinity" (1).toPrecision(0); // RangeError (1).toPrecision(22); // RangeError
Math.E; // 2.718281828459045 Math.E = 1; Math.E; // 2.718281828459045
Math.LN10; // 2.302585092994046 Math.LN10 = 1; Math.LN10; // 2.302585092994046
Math.LN2; // 0.6931471805599453 Math.LN2 = 1; Math.LN2; // 0.6931471805599453
Math.LOG2E; // 1.4426950408889634 Math.LOG2E = 1; Math.LOG2E; // 1.4426950408889634
Math.LOG10E; // 0.4342944819032518 Math.LOG10E = 1; Math.LOG10E; // 0.4342944819032518
Math.PI; // 3.141592653589793 Math.PI = 1; Math.PI; // 3.141592653589793
Math.SQRT1_2; // 0.7071067811865476 Math.SQRT1_2 = 1; Math.SQRT1_2; // 0.7071067811865476
Math.SQRT2; // 1.4142135623730951 Math.SQRT2 = 1; Math.SQRT2; // 1.4142135623730951
Math.abs(-10); // 10 Math.abs(1.2); // 1.2 Math.abs(-0); // 0 Math.abs(-Infinity); // Infinity Math.abs(NaN); // NaN
Math.acos(-Infinity); // NaN Math.acos(-1.01); // NaN Math.acos(-1); // 3.141592653589793 == Math.PI Math.acos(-0.75); // 2.4188584057763776 Math.acos(-0.5); // 2.0943951023931957 Math.acos(-0.25); // 1.8234765819369754 Math.acos(0); // 1.5707963267948966 Math.acos(0.25); // 1.318116071652818 Math.acos(0.5); // 1.0471975511965979 Math.acos(0.75); // 0.7227342478134157 Math.acos(1); // 0 Math.acos(1.01); // NaN Math.acos(Infinity); // NaN Math.acos(NaN); // NaN
Math.asin(-Infinity); // NaN Math.asin(-1.01); // NaN Math.asin(-1); // -1.5707963267948966 == -Math.PI/2 Math.asin(-0.75); // -0.848062078981481 Math.asin(-0.5); // -0.5235987755982989 Math.asin(-0.25); // -0.25268025514207865 Math.asin(0); // 0 Math.asin(0.25); // 0.25268025514207865 Math.asin(0.5); // 0.5235987755982989 Math.asin(0.75); // 0.848062078981481 Math.asin(1); // 1.5707963267948966 == Math.PI/2 Math.asin(1.01); // NaN Math.asin(Infinity); // NaN Math.asin(NaN); // NaN
Math.atan(-Infinity); // -1.5707963267948966 == -Math.PI/2 Math.atan(-1.01); // -0.7903732467283024 Math.atan(-1); // -0.7853981633974483 Math.atan(-0.75); // -0.6435011087932844 Math.atan(-0.5); // -0.4636476090008061 Math.atan(-0.25); // -0.24497866312686414 Math.atan(0); // 0 Math.atan(0.25); // 0.24497866312686414 Math.atan(0.5); // 0.4636476090008061 Math.atan(0.75); // 0.6435011087932844 Math.atan(1); // 0.7853981633974483 Math.atan(1.01); // 0.7903732467283024 Math.atan(Infinity); // 1.5707963267948966 == Math.PI/2 Math.atan(NaN); // NaN
// Dodatnia pozioma półoś: Math.atan2(-0, 0); // -0 Math.atan2(0, 0); // 0 Math.atan2(0, 0.01); // 0 Math.atan2(0, 1); // 0 Math.atan2(0, Infinity); // 0 // Pierwsza ćwiartka układu współrzędnych Math.atan2(0.5, 1); // 0.4636476090008061 Math.atan2(1, 1); // 0.7853981633974483 == Math.PI/4 Math.atan2(1, 0.5); // 1.1071487177940904 Math.atan2(Infinity, Infinity); // 0.7853981633974483 == Math.PI/4 // Dodatnia pionowa półoś: Math.atan2(0.01, 0); // 1.5707963267948966 == Math.PI/2 Math.atan2(1, 0); // 1.5707963267948966 == Math.PI/2 Math.atan2(Infinity, 0); // 1.5707963267948966 == Math.PI/2 // Druga ćwiartka układu współrzędnych Math.atan2(1, -0.5); // 2.0344439357957027 Math.atan2(1, -1); // 2.356194490192345 == 3/4*Math.PI Math.atan2(0.5, -1); // 2.677945044588987 Math.atan2(Infinity, -Infinity); // 2.356194490192345 == 3/4*Math.PI // Ujemna pozioma półoś: Math.atan2(-0, -0); // 3.141592653589793 == -Math.PI Math.atan2(0, -0); // 3.141592653589793 == Math.PI Math.atan2(0, -0.01); // 3.141592653589793 == Math.PI Math.atan2(0, -1); // 3.141592653589793 == Math.PI Math.atan2(0, -Infinity); // 3.141592653589793 == Math.PI // Trzecia ćwiartka układu współrzędnych Math.atan2(-0.5, 1); // -0.4636476090008061 Math.atan2(-1, 1); // -0.7853981633974483 == -Math.PI/4 Math.atan2(-1, 0.5); // -1.1071487177940904 Math.atan2(-Infinity, Infinity); // -0.7853981633974483 == -Math.PI/4 // Ujemna pionowa półoś: Math.atan2(-0.01, 0); // -1.5707963267948966 == -Math.PI/2 Math.atan2(-1, 0); // -1.5707963267948966 == -Math.PI/2 Math.atan2(-Infinity, 0); // -1.5707963267948966 == -Math.PI/2 // Czwarta ćwiartka układu współrzędnych Math.atan2(-1, -0.5); // -2.0344439357957027 Math.atan2(-1, -1); // -2.356194490192345 == -3/4*Math.PI Math.atan2(-0.5, -1); // -2.677945044588987 Math.atan2(-Infinity, -Infinity); // -2.356194490192345 == -3/4*Math.PI Math.atans(NaN, 0); // NaN Math.atan2(0, NaN); // NaN Math.atan2(NaN, NaN); // NaN
Math.ceil(-Infinity); // -Infinity Math.ceil(-1.9); // -1 Math.ceil(-1.1); // -1 Math.ceil(-1); // -1 Math.ceil(-0.9); // 0 Math.ceil(-0.1); // 0 Math.ceil(0); // 0 Math.ceil(0.1); // 1 Math.ceil(0.9); // 1 Math.ceil(1); // 1 Math.ceil(1.1); // 2 Math.ceil(1.9); // 2 Math.ceil(Infinity); // Infinity Math.ceil(NaN); // NaN
Math.cos(-2*Math.PI); // 1 Math.cos(-Math.PI); // -1 Math.cos(0); // 1 Math.cos(Math.PI); // -1 Math.cos(2*Math.PI); // 1 Math.cos(NaN); // NaN Math.cos(Infinity); // NaN Math.cos(-Infinity); // NaN
Math.exp(-Infinity); // 1 Math.exp(-1); // 0.3678794411714424 Math.exp(-0.5); // 0.6065306597126334 Math.exp(0); // 1 Math.exp(0.5); // 1.6487212707001282 Math.exp(1); // 2.718281828459045 Math.exp(Infinity); // Infinity Math.exp(NaN); // NaN
Math.floor(-Infinity); // -Infinity Math.floor(-1.9); // -2 Math.floor(-1.1); // -2 Math.floor(-1); // -1 Math.floor(-0.9); // -1 Math.floor(-0.1); // -1 Math.floor(0); // 0 Math.floor(0.1); // 0 Math.floor(0.9); // 0 Math.floor(1); // 1 Math.floor(1.1); // 1 Math.floor(1.9); // 1 Math.floor(Infinity); // Infinity Math.floor(NaN); // NaN
Math.log(-Infinity); // NaN Math.log(-0.01); // NaN Math.log(0); // -Infinity Math.log(0.5); // -0.6931471805599453 Math.log(1); // 0 Math.log(Math.E); // 1 Math.log(Infinity); // Infinity Math.log(NaN); // NaN
Math.max(); // -Infinity Math.max(1); // 1 Math.max(1, 2); // 2 Math.max(-1.2, -1, 0, 1, 1.2); // 1.2 Math.max(-Infinity, Infinity); // Infinity Math.max(NaN); // NaN Math.max(NaN, 0); // NaN Math.max(0, NaN); // NaN Math.max(0, 1, NaN); // NaN Math.max(undefined); // NaN
Math.min(); // Infinity Math.min(1); // 1 Math.min(1, 2); // 1 Math.min(-1.2, -1, 0, 1, 1.2); // -1.2 Math.min(-Infinity, Infinity); // -Infinity Math.min(NaN); // NaN Math.min(NaN, 0); // NaN Math.min(0, NaN); // NaN Math.min(0, 1, NaN); // NaN Math.min(undefined); // NaN
Math.pow(2, 3); // 8 Math.pow(4, 0.5); // 2 Math.pow(2, -1); // 0.5 Math.pow(-1, NaN); // NaN Math.pow(0, NaN); // NaN Math.pow(1, NaN); // NaN Math.pow(-1, 0); // 1 Math.pow(0, 0); // 1 Math.pow(1, 0); // 1 Math.pow(NaN, 0); // 1 Math.pow(-1, -0); // 1 Math.pow(0, -0); // 1 Math.pow(1, -0); // 1 Math.pow(NaN, -0); // 1 Math.pow(NaN, -1); // NaN Math.pow(NaN, 1); // NaN Math.pow(1.1, Infinity); // Infinity Math.pow(-1.1, Infinity); // Infinity Math.pow(1.1, -Infinity); // 0 Math.pow(-1.1, -Infinity); // 0 Math.pow(1, Infinity); // NaN Math.pow(-1, Infinity); // NaN Math.pow(1, -Infinity); // NaN Math.pow(-1, -Infinity); // NaN Math.pow(-0.5, Infinity); // 0 Math.pow(0.5, Infinity); // 0 Math.pow(-0.5, -Infinity); // Infinity Math.pow(0.5, -Infinity); // Infinity Math.pow(Infinity, 0.5); // Infinity Math.pow(Infinity, 1); // Infinity Math.pow(Infinity, 1.5); // Infinity Math.pow(Infinity, -1.5); // 0 Math.pow(Infinity, -1); // 0 Math.pow(Infinity, -0.5); // 0 Math.pow(-Infinity, 1); // -Infinity Math.pow(-Infinity, 3); // -Infinity Math.pow(-Infinity, 5); // -Infinity Math.pow(-Infinity, 2); // Infinity Math.pow(-Infinity, 4); // Infinity Math.pow(-Infinity, 6); // Infinity Math.pow(-Infinity, -1); // -0 Math.pow(-Infinity, -3); // -0 Math.pow(-Infinity, -5); // -0 Math.pow(-Infinity, -2); // 0 Math.pow(-Infinity, -4); // 0 Math.pow(-Infinity, -6); // 0 Math.pow(0, 0.5); // 0 Math.pow(0, 1); // 0 Math.pow(0, 1.5); // 0 Math.pow(0, -1.5); // Infinity Math.pow(0, -1); // Infinity Math.pow(0, -1.5); // Infinity Math.pow(-0, 1); // -0 Math.pow(-0, 3); // -0 Math.pow(-0, 5); // -0 Math.pow(-0, 2); // 0 Math.pow(-0, 4); // 0 Math.pow(-0, 6); // 0 Math.pow(-0, -1); // -Infinity Math.pow(-0, -3); // -Infinity Math.pow(-0, -5); // -Infinity Math.pow(-0, -2); // Infinity Math.pow(-0, -4); // Infinity Math.pow(-0, -6); // Infinity Math.pow(-1.5, 0.5); // NaN Math.pow(-0.5, 0.5); // NaN Math.pow(-1.5, -1.5); // NaN Math.pow(-1, -1.5); // NaN
Math.random(); // np.: 0.29363602958619595
10 + Math.floor(Math.random() * 90); // np.: 25
Math.round(-Infinity); // -Infinity Math.round(-1); // -1 Math.round(-0.9); // -1 Math.round(-0.5); // -1 Math.round(-0.4); // 0 Math.round(-0.1); // 0 Math.round(0); // 0 Math.round(0.1); // 0 Math.round(0.4); // 0 Math.round(0.5); // 1 Math.round(0.9); // 1 Math.round(1); // 1 Math.round(Infinity); // Infinity Math.round(NaN); // NaN Math.round(undefined); // NaN
Math.round(1.005 * 100) / 100; // 1 1.005 * 100; // 100.49999999999999 Math.round(100.49999999999999); // 100
Number(Math.round(1.005 + 'e+2') + 'e-2'); // 1.01
Math.sin(-Math.PI/2); // -1 Math.sin(0); // 0 Math.sin(Math.PI/2); // 1 Math.sin(NaN); // NaN Math.sin(Infinity); // NaN Math.sin(-Infinity); // NaN
Math.sqrt(0); // 0 Math.sqrt(1); // 1 Math.sqrt(4); // 2 Math.sqrt(9); // 3 Math.sqrt(16); // 4 Math.sqrt(Infinity); // Infinity Math.sqrt(NaN); // NaN Math.sqrt(-1); // NaN
Math.tan(0); // 0 Math.tan(NaN); // NaN Math.tan(Infinity); // NaN Math.tan(-Infinity); // NaN
Date(); // np.: "Sat Jan 04 2014 17:38:21 GMT+0100"
new Date(); // np.: new Date("Sat Jan 04 2014 17:38:21 GMT+0100") new Date("2014-01-04T17:38:21+01:00"); // np.: new Date("Sat Jan 04 2014 17:38:21 GMT+0100") new Date(86400000); // np.: new Date("Fri Jan 02 1970 01:00:00 GMT+0100") new Date(-86400000); // np.: new Date("Wed Dec 31 1969 01:00:00 GMT+0100") new Date(-1, 0); // np.: new Date("Fri Jan 01 -0001 00:00:00 GMT+0100") new Date(0, 0); // np.: new Date("Mon Jan 01 1900 00:00:00 GMT+0100") new Date(99, 0); // np.: new Date("Fri Jan 01 1999 00:00:00 GMT+0100") new Date(100, 0); // np.: new Date("Fri Jan 01 0100 00:00:00 GMT+0100") new Date(2000, -1); // np.: new Date("Wed Dec 01 1999 00:00:00 GMT+0100") new Date(1999, 12); // np.: new Date("Sat Jan 01 2000 00:00:00 GMT+0100") new Date(2000, 1, -1); // np.: new Date("Sun Jan 30 2000 00:00:00 GMT+0100") new Date(2000, 1, 30); // np.: new Date("Wed Mar 01 2000 00:00:00 GMT+0100") - 2000 był rokiem przestępnym new Date(1410, 6, 15); // np.: new Date("Sun Jul 15 1410 00:00:00 GMT+0200") new Date(1410, 6, 15, 13); // np.: new Date("Sun Jul 15 1410 13:00:00 GMT+0200") new Date(1410, 6, 16, -1); // np.: new Date("Sun Jul 15 1410 23:00:00 GMT+0200") new Date(1410, 6, 14, 25); // np.: new Date("Sun Jul 15 1410 01:00:00 GMT+0200") new Date(1410, 6, 15, 13, 30); // np.: new Date("Sun Jul 15 1410 13:30:00 GMT+0200") new Date(1410, 6, 15, 13, -1); // np.: new Date("Sun Jul 15 1410 12:59:00 GMT+0200") new Date(1410, 6, 15, 13, 60); // np.: new Date("Sun Jul 15 1410 14:00:00 GMT+0200") new Date(1410, 6, 15, 13, 30, 59); // np.: new Date("Sun Jul 15 1410 13:30:59 GMT+0200") new Date(1410, 6, 15, 13, 30, -1); // np.: new Date("Sun Jul 15 1410 13:29:59 GMT+0200") new Date(1410, 6, 15, 13, 30, 60); // np.: new Date("Sun Jul 15 1410 13:31:00 GMT+0200")
Date.parse("1970"); Date.parse("1970-01"); Date.parse("1970-01-01"); Date.parse("1970-01-01T00:00Z"); Date.parse("1970-01-01T00:00:00Z"); Date.parse("1970-01-01T00:00:00.000Z"); Date.parse("1970-01-01T00:00:00+00:00"); Date.parse("1970-01-01T00:00:00-00:00"); Date.parse("1970-01-01T01:00+01:00");
Date.parse("2000-00"); Date.parse("2000-13"); Date.parse("2000-01-00"); Date.parse("2000-01-32"); Date.parse("2000-01-01T25:00Z"); Date.parse("2000-01-01T00:60Z"); Date.parse("2000-01-01T00:00:60Z"); Date.parse("2000-01-01T24:01:00Z"); Date.parse("2000-01-01T24:00:01Z"); Date.parse("2000-1-1T0:0:0Z"); Date.parse("test"); Date.parse("");
Date.UTC(1970, 0); Date.UTC(1970, 0, 1); Date.UTC(1970, 0, 1, 0); Date.UTC(1970, 0, 1, 0, 0); Date.UTC(1970, 0, 1, 0, 0, 0); Date.UTC(1970, 0, 1, 0, 0, 0, 0);
Date.now(); // np.: 1388870233705
Date.prototype.constructor === Date; // true new Date().constructor === Date; // true Date.prototype.constructor === Object; // false
new Date(1410, 6, 15, 13, 30, 59).toString(); // np.: "Sun Jul 15 1410 13:30:59 GMT+0200" Date.prototype.toString.call(null); // TypeError Date.prototype.toString.call(undefined); // TypeError Date.prototype.toString.call(0); // TypeError Date.prototype.toString.call(""); // TypeError Date.prototype.toString.call("2000"); // TypeError Date.prototype.toString.call({}); // TypeError
new Date(1410, 6, 15).toDateString(); // np.: "Sun Jul 15 1410" Date.prototype.toDateString.call(null); // TypeError Date.prototype.toDateString.call(undefined); // TypeError Date.prototype.toDateString.call(0); // TypeError Date.prototype.toDateString.call(""); // TypeError Date.prototype.toDateString.call("2000"); // TypeError Date.prototype.toDateString.call({}); // TypeError
new Date(1410, 6, 15, 13, 30, 59).toTimeString(); // np.: "13:30:59 GMT+0200" Date.prototype.toTimeString.call(null); // TypeError Date.prototype.toTimeString.call(undefined); // TypeError Date.prototype.toTimeString.call(0); // TypeError Date.prototype.toTimeString.call(""); // TypeError Date.prototype.toTimeString.call("2000"); // TypeError Date.prototype.toTimeString.call({}); // TypeError
new Date(1410, 6, 15, 13, 30, 59).toLocaleString(); // np.: "15 lipiec 1410 13:30:59" Date.prototype.toLocaleString.call(null); // TypeError Date.prototype.toLocaleString.call(undefined); // TypeError Date.prototype.toLocaleString.call(0); // TypeError Date.prototype.toLocaleString.call(""); // TypeError Date.prototype.toLocaleString.call("2000"); // TypeError Date.prototype.toLocaleString.call({}); // TypeError
new Date(1410, 6, 15).toLocaleDateString(); // np.: "15 lipiec 1410" Date.prototype.toLocaleDateString.call(null); // TypeError Date.prototype.toLocaleDateString.call(undefined); // TypeError Date.prototype.toLocaleDateString.call(0); // TypeError Date.prototype.toLocaleDateString.call(""); // TypeError Date.prototype.toLocaleDateString.call("2000"); // TypeError Date.prototype.toLocaleDateString.call({}); // TypeError
new Date(1410, 6, 15, 13, 30, 59).toLocaleTimeString(); // np.: "13:30:59" Date.prototype.toLocaleTimeString.call(null); // TypeError Date.prototype.toLocaleTimeString.call(undefined); // TypeError Date.prototype.toLocaleTimeString.call(0); // TypeError Date.prototype.toLocaleTimeString.call(""); // TypeError Date.prototype.toLocaleTimeStringcall("2000"); // TypeError Date.prototype.toLocaleTimeString.call({}); // TypeError
new Date(2000, 0, 1).valueOf(); // 946681200000 Date.prototype.valueOf.call(null); // TypeError Date.prototype.valueOf.call(undefined); // TypeError Date.prototype.valueOf.call(0); // TypeError Date.prototype.valueOf.call(""); // TypeError Date.prototype.valueOf.call("2000"); // TypeError Date.prototype.valueOf.call({}); // TypeError
new Date(2000, 0, 1).getTime(); // 946681200000 Date.prototype.getTime.call(null); // TypeError Date.prototype.getTime.call(undefined); // TypeError Date.prototype.getTime.call(0); // TypeError Date.prototype.getTime.call(""); // TypeError Date.prototype.getTime.call("2000"); // TypeError Date.prototype.getTime.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getFullYear(); // 1410 new Date(NaN).getFullYear(); // NaN Date.prototype.getFullYear.call(null); // TypeError Date.prototype.getFullYear.call(undefined); // TypeError Date.prototype.getFullYear.call(0); // TypeError Date.prototype.getFullYear.call(""); // TypeError Date.prototype.getFullYear.call("2000"); // TypeError Date.prototype.getFullYear.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getUTCFullYear(); // 1410 new Date(NaN).getUTCFullYear(); // NaN Date.prototype.getUTCFullYear.call(null); // TypeError Date.prototype.getUTCFullYear.call(undefined); // TypeError Date.prototype.getUTCFullYear.call(0); // TypeError Date.prototype.getUTCFullYear.call(""); // TypeError Date.prototype.getUTCFullYear.call("2000"); // TypeError Date.prototype.getUTCFullYear.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getMonth(); // 6 (lipiec) new Date(NaN).getMonth(); // NaN Date.prototype.getMonth.call(null); // TypeError Date.prototype.getMonth.call(undefined); // TypeError Date.prototype.getMonth.call(0); // TypeError Date.prototype.getMonth.call(""); // TypeError Date.prototype.getMonth.call("2000"); // TypeError Date.prototype.getMonth.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getUTCMonth(); // 6 (lipiec) new Date(NaN).getUTCMonth(); // NaN Date.prototype.getUTCMonth.call(null); // TypeError Date.prototype.getUTCMonth.call(undefined); // TypeError Date.prototype.getUTCMonth.call(0); // TypeError Date.prototype.getUTCMonth.call(""); // TypeError Date.prototype.getUTCMonth.call("2000"); // TypeError Date.prototype.getUTCMonth.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getDate(); // 15 new Date(NaN).getDate(); // NaN Date.prototype.getDate.call(null); // TypeError Date.prototype.getDate.call(undefined); // TypeError Date.prototype.getDate.call(0); // TypeError Date.prototype.getDate.call(""); // TypeError Date.prototype.getDate.call("2000"); // TypeError Date.prototype.getDate.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getUTCDate(); // 15 new Date(NaN).getUTCDate(); // NaN Date.prototype.getUTCDate.call(null); // TypeError Date.prototype.getUTCDate.call(undefined); // TypeError Date.prototype.getUTCDate.call(0); // TypeError Date.prototype.getUTCDate.call(""); // TypeError Date.prototype.getUTCDate.call("2000"); // TypeError Date.prototype.getUTCDate.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getDay(); // 0 (niedziela) new Date(NaN).getDay(); // NaN Date.prototype.getDay.call(null); // TypeError Date.prototype.getDay.call(undefined); // TypeError Date.prototype.getDay.call(0); // TypeError Date.prototype.getDay.call(""); // TypeError Date.prototype.getDay.call("2000"); // TypeError Date.prototype.getDay.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getUTCDay(); // 0 (niedziela) new Date(NaN).getUTCDay(); // NaN Date.prototype.getUTCDay.call(null); // TypeError Date.prototype.getUTCDay.call(undefined); // TypeError Date.prototype.getUTCDay.call(0); // TypeError Date.prototype.getUTCDay.call(""); // TypeError Date.prototype.getUTCDay.call("2000"); // TypeError Date.prototype.getUTCDay.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getHours(); // 13 new Date(NaN).getHours(); // NaN Date.prototype.getHours.call(null); // TypeError Date.prototype.getHours.call(undefined); // TypeError Date.prototype.getHours.call(0); // TypeError Date.prototype.getHours.call(""); // TypeError Date.prototype.getHours.call("2000"); // TypeError Date.prototype.getHours.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getUTCHours(); // 11 new Date(NaN).getUTCHours(); // NaN Date.prototype.getUTCHours.call(null); // TypeError Date.prototype.getUTCHours.call(undefined); // TypeError Date.prototype.getUTCHours.call(0); // TypeError Date.prototype.getUTCHours.call(""); // TypeError Date.prototype.getUTCHours.call("2000"); // TypeError Date.prototype.getUTCHours.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getMinutes(); // 30 new Date(NaN).getMinutes(); // NaN Date.prototype.getMinutes.call(null); // TypeError Date.prototype.getMinutes.call(undefined); // TypeError Date.prototype.getMinutes.call(0); // TypeError Date.prototype.getMinutes.call(""); // TypeError Date.prototype.getMinutes.call("2000"); // TypeError Date.prototype.getMinutes.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getUTCMinutes(); // 30 new Date(NaN).getUTCMinutes(); // NaN Date.prototype.getUTCMinutes.call(null); // TypeError Date.prototype.getUTCMinutes.call(undefined); // TypeError Date.prototype.getUTCMinutes.call(0); // TypeError Date.prototype.getUTCMinutes.call(""); // TypeError Date.prototype.getUTCMinutes.call("2000"); // TypeError Date.prototype.getUTCMinutes.call({}); // TypeError
new Date("1410-07-15T13:30:59+02:00").getSeconds(); // 59 new Date(NaN).getSeconds(); // NaN Date.prototype.getSeconds.call(null); // TypeError Date.prototype.getSeconds.call(undefined); // TypeError Date.prototype.getSeconds.call(0); // TypeError Date.prototype.getSeconds.call(""); // TypeError Date.prototype.getSeconds.call("2000"); // TypeError Date.prototype.getSeconds.call({}); // TypeError
new Date("1410-07-15T13:30:59+02:00").getUTCSeconds(); // 59 new Date(NaN).getUTCSeconds(); // NaN Date.prototype.getUTCSeconds.call(null); // TypeError Date.prototype.getUTCSeconds.call(undefined); // TypeError Date.prototype.getUTCSeconds.call(0); // TypeError Date.prototype.getUTCSeconds.call(""); // TypeError Date.prototype.getUTCSeconds.call("2000"); // TypeError Date.prototype.getUTCSeconds.call({}); // TypeError
new Date("1410-07-15T13:30:59.500+02:00").getMilliseconds(); // 500 new Date(NaN).getMilliseconds(); // NaN Date.prototype.getMilliseconds.call(null); // TypeError Date.prototype.getMilliseconds.call(undefined); // TypeError Date.prototype.getMilliseconds.call(0); // TypeError Date.prototype.getMilliseconds.call(""); // TypeError Date.prototype.getMilliseconds.call("2000"); // TypeError Date.prototype.getMilliseconds.call({}); // TypeError
new Date("1410-07-15T13:30:59.500+02:00").getUTCMilliseconds(); // 500 new Date(NaN).getUTCMilliseconds(); // NaN Date.prototype.getUTCMilliseconds.call(null); // TypeError Date.prototype.getUTCMilliseconds.call(undefined); // TypeError Date.prototype.getUTCMilliseconds.call(0); // TypeError Date.prototype.getUTCMilliseconds.call(""); // TypeError Date.prototype.getUTCMilliseconds.call("2000"); // TypeError Date.prototype.getUTCMilliseconds.call({}); // TypeError
new Date("1410-07-15T13:30+02:00").getTimezoneOffset(); // -120 new Date(NaN).getTimezoneOffset(); // NaN Date.prototype.getTimezoneOffset.call(null); // TypeError Date.prototype.getTimezoneOffset.call(undefined); // TypeError Date.prototype.getTimezoneOffset.call(0); // TypeError Date.prototype.getTimezoneOffset.call(""); // TypeError Date.prototype.getTimezoneOffset.call("2000"); // TypeError Date.prototype.getTimezoneOffset.call({}); // TypeError
var x = new Date(2000, 0, 1); x.setTime(x.getTime() + 86400000); // 946767600000 x; // new Date(2000, 0, 2) Date.prototype.setTime.call(null, 0); // TypeError Date.prototype.setTime.call(undefined, 0); // TypeError Date.prototype.setTime.call(0, 0); // TypeError Date.prototype.setTime.call("", 0); // TypeError Date.prototype.setTime.call("2000", 0); // TypeError Date.prototype.setTime.call({}, 0); // TypeError
var x = new Date("1410-07-15T13:30:59.000+02:00"); x.setMilliseconds(500); // -17655020940500 x; // new Date("1410-07-15T13:30:59.500+02:00") x.setMilliseconds(1250); // -17655020939750 x; // new Date("1410-07-15T13:31:00.250+02:00") x.setMilliseconds(-500); // -17655020940500 x; // new Date("1410-07-15T13:30:59.500+02:00") Date.prototype.setMilliseconds.call(null, 0); // TypeError Date.prototype.setMilliseconds.call(undefined, 0); // TypeError Date.prototype.setMilliseconds.call(0, 0); // TypeError Date.prototype.setMilliseconds.call("", 0); // TypeError Date.prototype.setMilliseconds.call("2000", 0); // TypeError Date.prototype.setMilliseconds.call({}, 0); // TypeError
var x = new Date("1410-07-15T13:30:59.000+02:00"); x.setUTCMilliseconds(500); // -17655020940500 x; // new Date("1410-07-15T13:30:59.500+02:00") x.setUTCMilliseconds(1250); // -17655020939750 x; // new Date("1410-07-15T13:31:00.250+02:00") x.setUTCMilliseconds(-500); // -17655020940500 x; // new Date("1410-07-15T13:30:59.500+02:00") Date.prototype.setUTCMilliseconds.call(null, 0); // TypeError Date.prototype.setUTCMilliseconds.call(undefined, 0); // TypeError Date.prototype.setUTCMilliseconds.call(0, 0); // TypeError Date.prototype.setUTCMilliseconds.call("", 0); // TypeError Date.prototype.setUTCMilliseconds.call("2000", 0); // TypeError Date.prototype.setUTCMilliseconds.call({}, 0); // TypeError
var x = new Date("1410-07-15T13:30:59.000+02:00"); x.setSeconds(0, 500); // -17655020999500 x; // new Date("1410-07-15T13:30:00.500+02:00") x.setSeconds(90); // -17655020909500 x; // new Date("1410-07-15T13:31:30.500+02:00") x.setSeconds(-30); // -17655020969500 x; // new Date("1410-07-15T13:30:30.500+02:00") Date.prototype.setSeconds.call(null, 0); // TypeError Date.prototype.setSeconds.call(undefined, 0); // TypeError Date.prototype.setSeconds.call(0, 0); // TypeError Date.prototype.setSeconds.call("", 0); // TypeError Date.prototype.setSeconds.call("2000", 0); // TypeError Date.prototype.setSeconds.call({}, 0); // TypeError
var x = new Date("1410-07-15T13:30:59.000+02:00"); x.setUTCSeconds(0, 500); // -17655020999500 x; // new Date("1410-07-15T13:30:00.500+02:00") x.setUTCSeconds(90); // -17655020909500 x; // new Date("1410-07-15T13:31:30.500+02:00") x.setUTCSeconds(-30); // -17655020969500 x; // new Date("1410-07-15T13:30:30.500+02:00") Date.prototype.setUTCSeconds.call(null, 0); // TypeError Date.prototype.setUTCSeconds.call(undefined, 0); // TypeError Date.prototype.setUTCSeconds.call(0, 0); // TypeError Date.prototype.setUTCSeconds.call("", 0); // TypeError Date.prototype.setUTCSeconds.call("2000", 0); // TypeError Date.prototype.setUTCSeconds.call({}, 0); // TypeError
var x = new Date("1410-07-15T13:30:59.000+02:00"); x.setMinutes(15, 0, 500); // -17655021899500 x; // new Date("1410-07-15T13:15:00.500+02:00") x.setMinutes(90); // -17655017399500 x; // new Date("1410-07-15T14:30:00.500+02:00") x.setMinutes(-30); // -17655020999500 x; // new Date("1410-07-15T13:30:00.500+02:00") Date.prototype.setMinutes.call(null, 0); // TypeError Date.prototype.setMinutes.call(undefined, 0); // TypeError Date.prototype.setMinutes.call(0, 0); // TypeError Date.prototype.setMinutes.call("", 0); // TypeError Date.prototype.setMinutes.call("2000", 0); // TypeError Date.prototype.setMinutes.call({}, 0); // TypeError
var x = new Date("1410-07-15T13:30:59.000+02:00"); x.setUTCMinutes(15, 0, 500); // -17655021899500 x; // new Date("1410-07-15T13:15:00.500+02:00") x.setUTCMinutes(90); // -17655017399500 x; // new Date("1410-07-15T14:30:00.500+02:00") x.setUTCMinutes(-30); // -17655020999500 x; // new Date("1410-07-15T13:30:00.500+02:00") Date.prototype.setUTCMinutes.call(null, 0); // TypeError Date.prototype.setUTCMinutes.call(undefined, 0); // TypeError Date.prototype.setUTCMinutes.call(0, 0); // TypeError Date.prototype.setUTCMinutes.call("", 0); // TypeError Date.prototype.setUTCMinutes.call("2000", 0); // TypeError Date.prototype.setUTCMinutes.call({}, 0); // TypeError
var x = new Date("1410-07-15T13:30:59.000+02:00"); x.setHours(12, 15, 0, 500); // -17655025499500 x; // new Date("1410-07-15T12:15:00.500+02:00") x.setHours(25); // -17654978699500 x; // new Date("1410-07-16T01:15:00.500+02:00") x.setHours(-2); // -17654989499500 x; // new Date("1410-07-15T22:15:00.500+02:00") Date.prototype.setHours.call(null, 0); // TypeError Date.prototype.setHours.call(undefined, 0); // TypeError Date.prototype.setHours.call(0, 0); // TypeError Date.prototype.setHours.call("", 0); // TypeError Date.prototype.setHours.call("2000", 0); // TypeError Date.prototype.setHours.call({}, 0); // TypeError
var x = new Date("1410-07-15T13:30:59.000+02:00"); x.setUTCHours(12, 15, 0, 500); // -17655018299500 x; // new Date("1410-07-15T14:15:00.500+02:00") x.setUTCHours(25); // -17654971499500 x; // new Date("1410-07-16T03:15:00.500+02:00") x.setUTCHours(-2); // -17654982299500 x; // new Date("1410-07-16T00:15:00.500+02:00") Date.prototype.setUTCHours.call(null, 0); // TypeError Date.prototype.setUTCHours.call(undefined, 0); // TypeError Date.prototype.setUTCHours.call(0, 0); // TypeError Date.prototype.setUTCHours.call("", 0); // TypeError Date.prototype.setUTCHours.call("2000", 0); // TypeError Date.prototype.setUTCHours.call({}, 0); // TypeError
var x = new Date("1410-07-15T00:00:00.000+02:00"); x.setDate(16); // -17654983200000 x; // new Date("1410-07-16T00:00:00.000+02:00") x.setDate(32); // -17653600800000 x; // new Date("1410-08-01T00:00:00.000+02:00") x.setDate(-2); // -17653860000000 x; // new Date("1410-07-29T00:00:00.000+02:00") Date.prototype.setDate.call(null, 0); // TypeError Date.prototype.setDate.call(undefined, 0); // TypeError Date.prototype.setDate.call(0, 0); // TypeError Date.prototype.setDate.call("", 0); // TypeError Date.prototype.setDate.call("2000", 0); // TypeError Date.prototype.setDate.call({}, 0); // TypeError
var x = new Date("1410-07-15T00:00:00.000+02:00"); x.setUTCDate(16); // -17654896800000 x; // new Date("1410-07-17T00:00:00.000+02:00") x.setUTCDate(32); // -17653600800000 x; // new Date("1410-08-02T00:00:00.000+02:00") x.setUTCDate(-2); // -17653773600000 x; // new Date("1410-07-30T00:00:00.000+02:00") Date.prototype.setUTCDate.call(null, 0); // TypeError Date.prototype.setUTCDate.call(undefined, 0); // TypeError Date.prototype.setUTCDate.call(0, 0); // TypeError Date.prototype.setUTCDate.call("", 0); // TypeError Date.prototype.setUTCDate.call("2000", 0); // TypeError Date.prototype.setUTCDate.call({}, 0); // TypeError
var x = new Date("1410-07-15T00:00:00.000+02:00"); x.setMonth(7, 3); // -17653428000000 x; // new Date("1410-08-03T00:00:00.000+02:00") x.setMonth(12); // -17640205200000 x; // new Date("1411-01-03T00:00:00.000+01:00") x.setMonth(-1); // -17642883600000 x; // new Date("1410-12-03T00:00:00.000+01:00") Date.prototype.setMonth.call(null, 0); // TypeError Date.prototype.setMonth.call(undefined, 0); // TypeError Date.prototype.setMonth.call(0, 0); // TypeError Date.prototype.setMonth.call("", 0); // TypeError Date.prototype.setMonth.call("2000", 0); // TypeError Date.prototype.setMonth.call({}, 0); // TypeError
var x = new Date("1410-07-15T00:00:00.000+02:00"); x.setUTCMonth(7, 3); // -17653341600000 x; // new Date("1410-08-04T00:00:00.000+02:00") x.setUTCMonth(12); // 17640122400000 x; // new Date("1411-01-03T23:00:00.000+01:00") x.setUTCMonth(-1); // -17642800800000 x; // new Date("1410-12-03T23:00:00.000+01:00") Date.prototype.setUTCMonth.call(null, 0); // TypeError Date.prototype.setUTCMonth.call(undefined, 0); // TypeError Date.prototype.setUTCMonth.call(0, 0); // TypeError Date.prototype.setUTCMonth.call("", 0); // TypeError Date.prototype.setUTCMonth.call("2000", 0); // TypeError Date.prototype.setUTCMonth.call({}, 0); // TypeError
var x = new Date("1410-07-15T00:00:00.000+02:00"); x.setFullYear(2000, 0, 1); // 946681200000 x; // new Date("2000-01-01T00:00:00.000+01:00") Date.prototype.setFullYear.call(null, 0); // TypeError Date.prototype.setFullYear.call(undefined, 0); // TypeError Date.prototype.setFullYear.call(0, 0); // TypeError Date.prototype.setFullYear.call("", 0); // TypeError Date.prototype.setFullYear.call("2000", 0); // TypeError Date.prototype.setFullYear.call({}, 0); // TypeError
var x = new Date("1410-07-15T00:00:00.000+02:00"); x.setUTCFullYear(2000, 0, 1); // 946764000000 x; // new Date("2000-01-01T23:00:00.000+01:00") Date.prototype.setUTCFullYear.call(null, 0); // TypeError Date.prototype.setUTCFullYear.call(undefined, 0); // TypeError Date.prototype.setUTCFullYear.call(0, 0); // TypeError Date.prototype.setUTCFullYear.call("", 0); // TypeError Date.prototype.setUTCFullYear.call("2000", 0); // TypeError Date.prototype.setUTCFullYear.call({}, 0); // TypeError
new Date(1410, 6, 15, 13, 30, 59).toUTCString(); // np.: "Sun, 15 Jul 1410 11:30:59 GMT" Date.prototype.toUTCString.call(null); // TypeError Date.prototype.toUTCString.call(undefined); // TypeError Date.prototype.toUTCString.call(0); // TypeError Date.prototype.toUTCString.call(""); // TypeError Date.prototype.toUTCString.call("2000"); // TypeError Date.prototype.toUTCString.call({}); // TypeError
new Date("1410-07-15T13:30:59.000+02:00").toISOString(); // np.: "1410-07-15T11:30:59.000Z" new Date(Infinity).toISOString(); // RangeError Date.prototype.toISOString.call(null); // TypeError Date.prototype.toISOString.call(undefined); // TypeError Date.prototype.toISOString.call(0); // TypeError Date.prototype.toISOString.call(""); // TypeError Date.prototype.toISOString.call("2000"); // TypeError Date.prototype.toISOString.call({}); // TypeError
JSON.stringify(new Date(1410, 6, 15)); // "\"1410-07-14T22:00:00.000Z\"" var Cls = function () {}; Cls.prototype.toJSON = function (key) { return Date.prototype.toJSON.call(this, key); }; JSON.stringify(new Cls()); // TypeError
var x = /abc/; RegExp(x) === x; // true RegExp("abc", "i"); // /abc/i RegExp(x, "i"); // TypeError RegExp("("); // SyntaxError RegExp("abc", "x"); // SyntaxError RegExp("abc", "gg"); // SyntaxError
new RegExp("abc", "i"); // /abc/i new RegExp(/abc/, "i"); // TypeError new RegExp("("); // SyntaxError new RegExp("abc", "x"); // SyntaxError new RegExp("abc", "gg"); // SyntaxError
/(ab)c/ig.source; // "(ab)c" new RegExp("a/b\\(c\\)d\\\\e").source; // "a/b\(c\)d\\e" var x = /abc/; x.source; // "abc" x.source = "cde"; x.source; // "abc"
/abc/gi.global; // true new RegExp("abc", "gi").global; // true /abc/i.global; // false new RegExp("abc").global; // false var x = /abc/g; x.global; // true x.global = false; x.global; // true
/abc/gi.ignoreCase; // true new RegExp("abc", "gi").ignoreCase; // true /abc/g.ignoreCase; // false new RegExp("abc").ignoreCase; // false var x = /abc/i; x.ignoreCase; // true x.gnoreCase = false; x.ignoreCase; // true
/abc/gm.multiline; // true new RegExp("abc", "gm").multiline; // true /abc/g.multiline; // false new RegExp("abc").multiline; // false var x = /abc/m; x.multiline; // true x.multiline = false; x.multiline; // true
var x = /(ab)c/gi; x.lastIndex; // 0 x.lastIndex = 3; x.lastIndex; // 3 x.exec("ABCd efg abc"); // ["abc", "ab"] x.lastIndex; // 12
RegExp.prototype.constructor === RegExp; // true new RegExp().constructor === RegExp; // true RegExp.prototype.constructor === Object; // false
var y = /abc/.exec("ABCd efg abc"); // ["abc"] y.index; // 9 y.input; // "ABCd efg abc" y = /(ab)c/.exec("ABCd efg abc"); // ["abc", "ab"] y.index; // 9 y = /abc/i.exec("ABCd efg abc"); // ["ABC"] y.index; // 0 y = /(ab)c/i.exec("ABCd efg abc"); // ["ABC", "AB"] y.index; // 0 var x = /abc/g; y = x.exec("abcd efg abc"); // ["abc"] x.lastIndex; // 3 y.index; // 0 x = /(ab)c/g; y = x.exec("abcd efg abc"); // ["abc", "ab"] x.lastIndex; // 3 y.index; // 0 x = /abc/ig; y = x.exec("ABCd efg abc"); // ["ABC"] x.lastIndex; // 3 y.index; // 0 x = /(ab)c/ig; y = x.exec("ABCd efg abc"); // ["ABC", "AB"] x.lastIndex; // 3 y.index; // 0 // Wyszukanie wszystkich dopasowań: x = /(ab)c/ig; while (y = x.exec("ABCd efg abc")) y.index; // 0, 9 /hij/.exec("abcd efg abc"); // null /ABC/.exec("abcd efg abc"); // null /(AB)C/.exec("abcd efg abc"); // null /hij/g.exec("abcd efg abc"); // null /ABC/g.exec("abcd efg abc"); // null /(AB)C/g.exec("abcd efg abc"); // null
/a[a-z]/.test("abc def abc"); // true /abc?/.test("abc def abc"); // true /ABC?/i.test("abc def abc"); // true // Wyszukanie wszystkich dopasowań: var x = /(ab)c/ig, y; while (y = x.exec("ABCd efg abc")) y.index; // 0, 9 /ghi?/.test("abc def abc"); // false /ABC?/.test("abc def abc"); // false
/(ab)c/ig.toString(); // "/(ab)c/gi" new RegExp("a/b\\(c\\)d\\\\e").toString(); // "/a\/b\(c\)d\\e/"
var TestError = function (message) { var that = Error.call(this, message); that.name = TestError.prototype.name; return that; }; TestError.prototype = Object.create(Error.prototype); TestError.prototype.constructor = TestError; TestError.prototype.name = "TestError"; try { throw new TestError("Houston, mamy problem."); } catch (e) { e.toString(); // "TestError: Houston, mamy problem." }
EvalError.prototype.name; // "EvalError" EvalError("test").toString(); // "EvalError: test" new EvalError("test") + ""; // "EvalError: test"
RangeError.prototype.name; // "RangeError" RangeError("test").toString(); // "RangeError: test" new RangeError("test") + ""; // "RangeError: test"
ReferenceError.prototype.name; // "ReferenceError" ReferenceError("test").toString(); // "ReferenceError: test" new ReferenceError("test") + ""; // "ReferenceError: test"
SyntaxError.prototype.name; // "SyntaxError" SyntaxError("test").toString(); // "SyntaxError: test" new SyntaxError("test") + ""; // "SyntaxError: test"
TypeError.prototype.name; // "TypeError" TypeError("test").toString(); // "TypeError: test" new TypeError("test") + ""; // "TypeError: test"
URIError.prototype.name; // "URIError" URIError("test").toString(); // "URIError: test" new URIError("test") + ""; // "URIError: test"
Error.prototype.constructor === Error; // true new Error().constructor === Error; // true Error.prototype.constructor === Object; // false
Error.prototype.name; // "Error" new Error().name; // "Error"
Error.prototype.message; // "" new Error().message; // "" new Error("test").message; // "test"
new Error().toString(); // "Error" new Error("test") + ""; // "Error: test"
JSON.parse('{"a": 1}'); // {a: 1} var x = '{"a": 1, "b": 2, "c": 3}'; var f = function (key, value) { if (key == "") { return value; } if (value < 3) { return value * 2; } }; JSON.parse(x, f); // {a: 2, b: 4} JSON.parse("{"); // SyntaxError JSON.parse("{a: 1}"); // SyntaxError JSON.parse("{'a': 1}"); // SyntaxError
JSON.stringify({a: 1}); // '{"a":1}' var x = {a: NaN, b: Infinity, c: true, d: undefined}; JSON.stringify(x); // '{"a":null,"b":null,"c":true}' x = [NaN, Infinity, true, undefined] JSON.stringify(x); // '[null,null,true,null]' x = {a: 1, b: 2, c: 3}; JSON.stringify(x, ["a", "b"]); // '{"a":1,"b":2}' var f = function (key, value) { if (key == "") { return value; } if (value < 3) { return value * 2; } }; x = {a: 1, b: 2, c: 3}; JSON.stringify(x, f); // '{"a":2,"b":4}' JSON.stringify(x, null, 2); // '{\n "a": 1,\n "b": 2,\n "c": 3\n}' JSON.stringify(x, null, "\t"); // '{\n\t"a": 1,\n\t"b": 2,\n\t"c": 3\n}' x.d = x; JSON.stringify(x); // TypeError