JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes and subtle bugs, as well as performance issues and bad practices, that non-expert JavaScript programmers may encounter on their endeavours into the depths of the language.JavaScript Garden does not aim to teach you JavaScript. Former knowledge of the language is strongly recommended in order to understand the topics covered in this guide. In order to learn the basics of the language, please head over to the excellent guide on the Mozilla Developer Network.Table of ContentIntroObject Usage and PropertiesThe PrototypehasOwnPropertyThe "for in" LoopFunction Declarations and ExpressionsHow "this" WorksClosures and ReferencesThe "arguments" ObjectConstructorsScopes and NamespacesArray Iteration and PropertiesThe "Array" ConstructorEquality and ComparisonsThe "typeof" OperatorThe "instanceof" OperatorType CastingWhy Not to Use "eval"undefined and "null"Automatic Semicolon InsertionThe "delete" OperatorsetTimeout and "setInterval"