About the Book
- innerHTML and the DOM
- Attaching Properties to Functions
- Using the delete Operator
- Arguments Aliasing Removed in Strict Mode
- The form Property on Input Elements
- getComputedStyle() for Fonts
- Optional Parameters for Window.setTimeout()
- history.back with iframes
- Understanding the Callstack
Tips on Using
- ES6 String Methods
- Nested Template Literals
- Using function.length with the Rest Operator
- SEO-Friendly Ajax States
- Objects in ES6
- The Comma Operator
- ES6 Object Destructuring
- Destructuring Assignment
- ES6 Object Destructuring with Nested Objects
- ES6 Array Destructuring
- Array Destructuring Swap
- Destructuring in Function Arguments
- ES5 Multi-line Strings
- Computed Object Properties in ES6
- ES6 Sets
- More Tips on Using ES6 Sets
- Array.of() in ES6
- Array.from() in ES6
- Array.from() Map Function
- Array.from() and the Optional this Value
- Array.find() and Array.findIndex()
- ESx Naming vs. ES20xx Naming
- HTML Collections
- DOM Scripting on Malformed or Invalid HTML
- A Little-known Fact About Hoisting
- Getting the Value of a Selected Radio Button
- The querySelector() Single-Byte Trick
- Triggering a Click Event
- The focusin and focusout Events
- Intro to ES6 Modules
- More on ES6 Modules
- Importing a Full Module
- Renaming Module Exports
- Some Facts on ES6 Arrow Functions
- Default Exports in ES6 Modules
- An Intro to the Page Visibility API
- Using document.domain for Cross-origin Requests
What is JSON? An Introduction and Guide for Beginners
- JSON Defined
- A Brief History of JSON
- How Should JSON be Stored?
- Using JSON.stringify()
- Using JSON.parse()
- Is JSON Better Than XML?
- What is JSONP?
- How Does JSONP Work?
- JSON Tools
Using Default Parameters in ES6
- Default Parameters in ES5 and Earlier
- Default Parameters in ES6
- Dealing With Omitted Values
- Default Parameter Values and the arguments Object
- Expressions as Default Parameters
An Introduction and Guide to the CSS Object Model (CSSOM)
- What is the CSSOM?
- Inline Styles via element.style
- Getting Computed Styles
- Getting Computed Styles of Pseudo-Elements
- The CSSStyleDeclaration API
- setProperty(), getPropertyValue(), and item()
- Using removeProperty()
- Getting and Setting a Property’s Priority
- The CSSStyleSheet Interface
- Working with a Stylesheet Object
- Accessing @media Rules with the CSSOM
- Accessing @keyframes Rules with the CSSOM
- Adding and Removing CSS Declarations
- Revisiting the CSSStyleDeclaration API
- The CSS Typed Object Model… The Future?
- Final Words
- More Weekly Tips!
- About the Author
The Leanpub 60-day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.