< BACK TO POST
LinkedIn Facebook Twitter

Blog

JavaScript Fundamentals

August 10th, 2015 | Development , Javascript

Good Parts1

Why JavaScript?

JavaScript is an important language because it is the language of the web browser. Its association with the browser makes it one of the most popular programming languages in the world.

Analyzing JavaScript

JavaScript is built on some very good ideas and a few very bad ones. The very good ideas include functions, loose typing, dynamic objects, and an expressive object literal notation. The bad ideas include a programming model based on global variables.

Grammar2

A Simple Testing Ground

<html>
<body>
<script src="program.js">
</script>
</body>
</html>

Whitespace

var that = this;
the space between var and that cannot be removed, but the other spaces can be removed.

Strings

A string literal can be wrapped in single quotes or double quotes. It can contain zero or more characters.

Strings have methods

'cat'.toUpperCase( ) === 'CAT'

Statements

    if(a){return true;}else{return false;}

Operator precedence

. [] ( ) Refinement and invocation delete new typeof + - ! Unary operators * / % Multiplication, division, modulo + - Addition/concatenation, subtraction >= <= > < Inequality === !== Equality && Logical and || Logical or ?: Ternary

Literals

Object literals are a convenient notation for specifying new objects.

Functions

A function literal defines a function value. It can have an optional name that it can use to call itself recursively

Objects

Object Literals

    

Retrieval

Values can be retrieved from an object by wrapping a string expression in a [ ] suffix. If the string expression is a constant, and if it is a legal JavaScript name and not a reserved word, then the . notation can be used instead. The . notation is preferred because it is more compact and it reads better

Reference

    

Reflection

    

Enumeration

    

Delete

    

Global Abatement

One way to minimize the use of global variables is to create a single global variable for your application:

    

Functions

Function Literal


The Method Invocation Pattern

When a function is stored as a property of an object, we call it a method.


The Function Invocation Pattern

When a function is not the property of an object, then it is invoked as a function:


The Constructor Invocation Pattern


Arguments


Exceptions


Recursion

A recursive function is a function that calls itself, either directly or indirectly.


Scope


Closure (functions in functions)


We are not assigning a function to myObject. We are assigning the result of invoking that function. Notice the ( ) on the last line.



Module


Cascade


Memoization

wrong:


right


Inheritance

Functional




Leave a Reply