рдЖрдЬ рдореИрдВрдиреЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╡рд┐рдирд╛рд╢реА рдЯрд╛рдЗрдорд░ рдереЗ рдЬреЛ рдПрдХ рдкреВрд░реНрдг рдЬрд╛рдирд╡рд░ рдмрд▓ clearTimeout / ClearInterval рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рдереЗред рд╢рд░реНрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рдерд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдпрд╛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ / рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрд╛ рд╣реИ
isNativeObject()
,
isNativeFunction()
, рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рджрд░реНрдЬрдиреЛрдВ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рди / рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди / рдирд╣реАрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдХреЗрдд рдПрдХ "рдЪрд╛рд▓рдмрд╛рдЬреА" рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдпрд╣ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИ, рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реИред рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдореВрд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реБрдП, рдореИрдВ рдЯрд╛рдЗрдкрдлреЛ рдФрд░ рд╕реНрдЯреНрд░реАрдВрдЧ рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЕрд▓рдЧ рддрд░рд╣ рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЖрдпрд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдЖ рдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореВрд▓реНрдп рджреЗрддреЗ рд╣реИрдВ
Worker.prototype + "";
рд╕рднреА рджреЗрд╢реА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рд╕рдлрд╛рд░реА, рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ -
[object WorkerConstructor], [object WorkerPrototype]
рдпрд╣ рд▓реЗрдЦ рдЯрд╛рдЗрдкреЛрдлрд╝ рдФрд░ рд╕реНрдЯреНрд░реАрдВрдЧ рдХреЗ рд╕рд╛рде рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 3.6, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 4
typeof Worker
typeof localStorage.prototype
navigator.geolocation + ""
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЙрджреНрдзрд░рдг рдмрджрд▓рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдб рдХреЛ рд╕реНрдЯреНрд░реАрдВрдЧ рдореЗрдВ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ:
(function(){return'a'+'b';}).toString();
рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдиреЗрд╡реАрдЧреЗрдЯрд░ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИ
рдУрдкреЗрд░рд╛ 11
рдУрдкреЗрд░рд╛ рдЯрд╛рдЗрдкреЛ рдФрд░ рд╕реНрдЯреНрд░реАрдВрдЧ рдХреЗ рд╕рд╛рде рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдВрджрд┐рдЧреНрдз рд╣реИ:
Worker.prototype + ""
рдирд╛рдо рд╕рдлрд╛рд░реА рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, "рдЙрдзрд╛рд░" рдХрд┐рд╕рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдУрдкреЗрд░рд╛ рдЖрдкрдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯрд░.рдпреВрдЬрд╝рд░рдПрдЬреЗрдВрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рд╕рдлрд╛рд░реА рдФрд░ рдореЛрдмрд╛рдЗрд▓ рд╕рдлрд╛рд░реА
рд╕рдлрд╛рд░реА, рдЗрд╕рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ - рдЗрд╕рдХреА рд╕рднреА рдореВрд▓ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдЯрд╛рдЗрдкреЛрдлрд╝ === 'рдСрдмреНрдЬреЗрдХреНрдЯ' рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ (рдПрдХреНрд╕рдПрдЪрдЖрд░ рдФрд░ рд╡рд░реНрдХрд░) 'рдлрд╝рдВрдХреНрд╢рди' рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
RegExp.prorotype + ""
рд╕рдлрд╛рд░реА рдиреЗрд╡реАрдЧреЗрдЯрд░.рд╕реБрдПрд░рдПрдЬреЗрдВрдЯ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдкрд╡рд╛рдж рдХреЛ рдирд╣реАрдВ рдлреЗрдВрдХрддрд╛ рд╣реИ
IE 8
рдореИрдВрдиреЗ IE рдХреА рдЬрд╛рдБрдЪ рдХреА рд╣рд░ рдЪреАрдЬ рд╕реЗ рдХреЗрд╡рд▓ XMLHttpRequest рдФрд░ RegExp рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдЗрддрдиреА рдмрдбрд╝реА рдирд╣реАрдВ рд╣реИ:
typeof XMLHttpRequest
RegExp.prorotype + ""
IE 8 рдиреЗрд╡реАрдЧреЗрдЯрд░ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддрд╛ рд╣реИред рдПрд╕реЗрд░рдЬреЗрдВрдЯ, IE 9 рдПрдХ рд╕рдлрд╛рд░реА рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред
IE 9 рдореЗрдВ, рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдмрдЧреНрд╕ рддрдп рдХрд┐рдП рдЧрдП рдереЗ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ [рдореВрд▓ рдХреЛрдб] рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЕрднреА рднреА \ n рдкреВрд░реНрдг рд╣реИрдВ
рдХреНрд░реЛрдо 10 рдмреАрдЯрд╛
Chrome рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ "рд╕реБрд╡рд┐рдзрд╛" рд╣реИ:
Worker.hasOwnProperty("toString")
рдХреНрд░реЛрдо, рд╕рдлрд╛рд░реА рдХреА рддрд░рд╣, рдиреЗрд╡рд┐рдЧреЗрдЯрд░.рд╕реБрдПрд░рдПрдЬреЗрдВрдЯ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдкрд╡рд╛рдж рдХреЛ рдирд╣реАрдВ рдлреЗрдВрдХрддрд╛ рд╣реИ
рд╡рд╣ рд╕рдм рдирд╣реАрдВ рд╣реИ
рд╕рд╛рд░рд╛рдВрд╢, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдкреВрд░реА рддрд╛рд▓рд┐рдХрд╛:
goo.gl/tD1jrрдкрд░реАрдХреНрд╖рдХ рдХреЛрдб:
jsfiddle.net/azproduction/V4LeEрдирд┐рд╖реНрдХрд░реНрд╖
рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ (8 рдирд╣реАрдВ) рдПрд╕рд┐рдб 3 рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЕрднреА рднреА рдХрдИ рдХреАрдбрд╝реЗ рд╣реИрдВред рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕реНрдб рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдбрдХрд╛рд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред
рдЕрдзреНрдпрдпрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╡рд╕реНрддреБрдПрдВ: рдХрд╛рд░реНрдпрдХрд░реНрддрд╛, XMLHttpRequest, CanvasContext, CanvasContext3D, Storage, WebSocket, FileReader, EventSource, navigator.geolocation, HTMLElement, RegExp, querySelectorAll, getElementsByTagName, рдЪрд╛рдЗрд▓реНрдбрд╢реЙрдЯред
рдмреНрд░рд╛рдЙрдЬрд╝рд░реНрд╕: рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 4, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 3.6, рдУрдкреЗрд░рд╛ 11, рд╕рдлрд╛рд░реА, IE 8, IE 9, рдХреНрд░реЛрдо 10 рдмреАрдЯрд╛, рдореЛрдмрд╛рдЗрд▓ рд╕рдлрд╛рд░реА рдЖрдИрдУрдПрд╕ 4.2.1
рддрдХрдиреАрдХреА рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдореИрдВ рд╕рднреА рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ред рдореИрдВрдиреЗ HTMLElement рдХреЗ рд╕рд╛рде рдбрд┐рдмреНрд░реАрдлрд┐рдВрдЧ рдЕрд▓рдЧ рд╕реЗ рдирд╣реАрдВ рдХреА рд╣реИ - рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдмрдХрд╡рд╛рд╕ рд╣реИред
PS рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХрд╛ рдЖрднрд╛рд░реА рд░рд╣реВрдБрдЧрд╛, рдЬреЛ рдмрд╛рдХреА рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдХреНрд░реЛрдо рдореЛрдмрд╛рдЗрд▓, рдУрдкреЗрд░рд╛ рдореЛрдмрд╛рдЗрд▓) рдХреЛ рд╕реНрдХреИрди рдХрд░рддреЗ рд╣реИрдВ - рдкрд░реАрдХреНрд╖рдХ рдХреА рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рд╕реВрдЪрдирд╛ рдХреЛ рдореБрдЭреЗ LAN рдореЗрдВ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рддреЛ рдЗрд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде
рдкрд░реАрдХреНрд╖рдХ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВ - рдореИрдВ рдмрд╛рдж рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджреВрдВрдЧрд╛ред
UPD рдиреЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 4, IE 9 (рдзрдиреНрдпрд╡рд╛рдж
hf35 ), рдореЛрдмрд╛рдЗрд▓ рд╕рдлрд╝рд╛рд░реА iOS 4.2.1, рдУрдкреЗрд░рд╛ рдХреЗ рд▓рд┐рдП ws (рдзрдиреНрдпрд╡рд╛рдж
рд╕реНрдХреАрди )
рдЬреЛрдбрд╝рд╛рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ querySelectorAll, getElementsByTagName, childNodes
UPD2 Object.prototype.toString (...) рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░ рдЬреЛрдбрд╝реЗ рдЧрдП