JavaScript. JavaScript (JS) is a lightweight interpreted (or just-in-time compiled) programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.js, Apache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, garbage-collected, dynamic language, supporting multiple paradigms such as imperative, functional, and object-oriented. JavaScript's dynamic capabilities include runtime object construction, variable parameter lists, function variables, dynamic script creation (via eval), object introspection (via for...in and Object utilities), and source-code recovery (JavaScript functions store their source text and can be retrieved through toString()). This section is dedicated to the JavaScript language itself, and not the parts that are specific to Web pages or other host environments.
For information about APIs that are specific to Web pages, please see Web APIs and DOM. Eloquent JavaScript. Jake: JavaScript build tool task runner for NodeJS. Table of Contents Overview Jake is the JavaScript build tool for NodeJS. Jake has been around since the very early days of Node, and is very full featured and well tested. Installing with NPM Install globally with: npm install -g jake Or you may also install it as a development dependency in a package.json file: Then install it with npm install Note Jake is intended to be mostly a command-line tool, but lately there have been changes to it so it can be either embedded, or run from inside your project.
Windows, installing from source For Windows users installing from source, there are some additional steps. Assumed: current directory is the same directory where node.exe is present. Get Jake: git clone git: Copy jake.bat and jake to the same directory as node.exe copy node_modules/jake/jake.bat jake.bat copy node_modules/jake/jake jake Add the directory of node.exe to the environment PATH variable. Basic usage jake [options ...] Description Options -V/v --version Display the Jake version. Jakefile syntax. Learning JavaScript Design Patterns. Design patterns are reusable solutions to commonly occurring problems in software design. They are both exciting and a fascinating topic to explore in any programming language. One reason for this is that they help us build upon the combined experience of many developers that came before us and ensure we structure our code in an optimized way, meeting the needs of problems we're attempting to solve.
Design patterns also provide us a common vocabulary to describe solutions. This can be significantly simpler than describing syntax and semantics when we're attempting to convey a way of structuring a solution in code form to others. In this book we will explore applying both classical and modern design patterns to the JavaScript programming language. Target Audience This book is targeted at professional developers wishing to improve their knowledge of design patterns and how they can be applied to the JavaScript programming language.
Acknowledgments Credits Reading We already use patterns everyday. Javascript Libraries. Javascript Libraries. Cucumber - Making BDD fun. Jnicklas/capybara. Js-test-driver - Remote javascript console. Quick Navigation Release 1.3.4-a First Release of 2012, 1.3.4-a: Bugs and Fixes: fixed the reset on syntax error bug. Better error reporting when --preloadFiles is passed in. Fixed issue 302 : The parameter --dryRunFor TestCase name does not work properly Fixed issue 145 : assets are served with content type "text/plain" (may be missing your exact content type. If so, file a new bug) Fixed capturing with more than 50 test cases with --preloadFiles Fixed --browserTimeout not being respected with the --browsers flag. Features: --basePath and base_path now accept multiple base paths. News: We'll be moving to Git on Google Code in the next two weeks. Release 1.3.3d Release 1.3.3b Fixed issue 223 for the last time.
Release 1.3.3a New test isolation plugin, documentation forthcoming: issue 272 Fix for issue 223 , which was real pain without a windows box Add test step description to expired callback error messages in the asynch tests. Welcome! Buster.JS is... — Buster.JS 0.7.0 documentation.