Summary More than ever, the web is a universal platform for all types of applications, and JavaScript is the language of the web. If you're serious about web development, it's not enough to be a decent JavaScript coder. You need to be ninja-stealthy, efficient, and ready for anything. This book shows you how. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology JavaScript is rapidly becoming a universal language for every type of application, whether on the web, on the desktop, in the cloud, or on mobile devices. When you become a JavaScript pro, you have a powerful skill set that’s usable across all these domains. About the Book Secrets of the JavaScript Ninja, Second Edition uses practical examples to clearly illustrate each core concept and technique. This completely revised edition shows you how to master key JavaScript concepts such as functions, closures, objects, prototypes, and promises. It covers APIs such as the DOM, events, and timers. You’ll discover best practice techniques such as testing, and cross-browser development, all taught from the perspective of skilled JavaScript practitioners. What’s Inside Writing more effective code with functions, objects, and closures Learning to avoid JavaScript application pitfalls Using regular expressions to write succinct text-processing code Managing asynchronous code with promises Fully revised to cover concepts from ES6 and ES7 About the Reader You don’t have to be a ninja to read this book—just be willing to become one. Are you ready? About the Authors John Resig is an acknowledged JavaScript authority and the creator of the jQuery library. Bear Bibeault is a web developer and author of the first edition, as well as coauthor of Ajax in Practice, Prototype and Scriptaculous in Action, and jQuery in Action from Manning. Josip Maras is a post-doctoral researcher and teacher. Table of Contents PART 1 - WARMING UP JavaScript is everywhere Building the page at runtime PART 2 - UNDERSTANDING FUNCTIONS First-class functions for the novice: definitions and arguments Functions for the journeyman: understanding function invocation Functions for the master: closures and scopes Functions for the future: generators and promises PART 3 - DIGGING INTO OBJECTS AND FORTIFYING YOUR CODE Object orientation with prototypes Controlling access to objects Dealing with collections Wrangling regular expressions Code modularization techniques PART 4 - BROWSER RECONNAISSANCE Working the DOM Surviving events Developing cross-browser strategies