primitive data types, arrays, loops, and 2015-06-25آ  primitive data types, arrays, loops, and...

Download Primitive Data Types, Arrays, Loops, and 2015-06-25آ  Primitive Data Types, Arrays, Loops, and Conditions

If you can't read please download the document

Post on 16-Jan-2020

0 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • For More Information: www.packtpub.com/object-oriented-javascript-applications-libraries/book

    Primitive Data Types, Arrays, Loops, and Conditions

    Before diving into the object-oriented features of JavaScript, let's fi rst take a look at some of the basics. This chapter walks you through:

    The primitive data types in JavaScript, such as strings and numbers Arrays Common operators, such as +, -, delete, and typeof Flow control statements, such as loops and if-else conditions

    Variables Variables are used to store data. When writing programs, it is convenient to use variables instead of the actual data, as it's much easier to write pi instead of 3.141592653589793 especially when it happens several times inside your program. The data stored in a variable can be changed after it was initially assigned, hence the name "variable". Variables are also useful for storing data that is unknown to the programmer when the code is written, such as the result of later operations.

    There are two steps required in order to use a variable. You need to:

    Declare the variable Initialize it, that is, give it a value

    In order to declare a variable, you use the var statement, like this:

    var a; var thisIsAVariable; var _and_this_too; var mix12three;

    http://www.packtpub.com/object-oriented-javascript-applications-libraries/book

  • For More Information: www.packtpub.com/object-oriented-javascript-applications-libraries/book

    Primitive Data Types, Arrays, Loops, and Conditions

    [ 22 ]

    For the names of the variables, you can use any combination of letters, numbers, and the underscore character. However, you can't start with a number, which means that this is invalid:

    var 2three4five;

    To initialize a variable means to give it a value for the fi rst (initial) time. You have two ways to do so:

    Declare the variable fi rst, then initialize it, or Declare and initialize with a single statement

    An example of the latter is:

    var a = 1;

    Now the variable named a contains the value 1.

    You can declare (and optionally initialize) several variables with a single var statement; just separate the declarations with a comma:

    var v1, v2, v3 = 'hello', v4 = 4, v5;

    Variables are Case Sensitive Variable names are case-sensitive. You can verify this statement using the Firebug console. Try typing this, pressing Enter after each line:

    var case_matters = 'lower'; var CASE_MATTERS = 'upper'; case_matters CASE_MATTERS

    To save keystrokes, when you enter the third line, you can only type ca and press the Tab key. The console will auto-complete the variable name to case_matters. Similarly, for the last line—type CA and press Tab. The end result is shown on the following fi gure.

    http://www.packtpub.com/object-oriented-javascript-applications-libraries/book

  • For More Information: www.packtpub.com/object-oriented-javascript-applications-libraries/book

    Chapter 2

    [ 23 ]

    Throughout the rest of this book, only the code for the examples will be given, instead of a screenshot:

    >>> var case_matters = 'lower'; >>> var CASE_MATTERS = 'upper'; >>> case_matters

    "lower"

    >>> CASE_MATTERS

    "upper"

    T he three consecutive greater-than signs (>>>) show the code that you type, the rest is the result, as printed in the console. Again, remember that when you see such code examples, you're strongly encouraged to type in the code yourself and experiment tweaking it a little here and there, so that you get a better feeling of how it works exactly.

    Operators O perators take one or two values (or variables), perform an operation, and return a value. Let's check out a simple example of using an operator, just to clarify the terminology.

    >>> 1 + 2

    3

    http://www.packtpub.com/object-oriented-javascript-applications-libraries/book

  • For More Information: www.packtpub.com/object-oriented-javascript-applications-libraries/book

    Primitive Data Types, Arrays, Loops, and Conditions

    [ 24 ]

    In this code:

    + is the operator The operation is addition The input values are 1 and 2 (the input values are also called operands) The result value is 3

    Instead of using the values 1 and 2 directly in the operation, you can use variables. You can also use a variable to store the result of the operation, as the following example demonstrates:

    >>> var a = 1; >>> var b = 2; >>> a + 1

    2

    >>> b + 2

    4

    >>> a + b

    3

    >>> var c = a + b; >>> c

    3

    The following table lists the basic arithmetic operators:

    Operator symbol Operation Example

    + Addition >>> 1 + 2

    3 - Substraction >>> 99.99 – 11

    88.99 * Multiplication >>> 2 * 3

    6 / Division >>> 6 / 4

    1.5

    http://www.packtpub.com/object-oriented-javascript-applications-libraries/book

  • For More Information: www.packtpub.com/object-oriented-javascript-applications-libraries/book

    Chapter 2

    [ 25 ]

    Operator symbol Operation Example

    % Modulo, the reminder of a division

    >>> 6 % 3

    0 >>> 5 % 3

    2 It's sometimes useful to test if a number is even or odd. Using the modulo operator it's easy. All odd numbers will return 1 when divided by 2, while all even numbers will return 0.

    >>> 4 % 2

    0 >>> 5 % 2

    1

    ++ Increment a value by 1

    Post-increment is when the input value is incremented after it's returned.

    >>> var a = 123; var b = a++; >>> b

    123 >>> a

    124 The opposite is pre-increment; the input value is fi rst incremented by 1 and then returned.

    >>> var a = 123; var b = ++a; >>> b

    124 >>> a

    124 -- Decrement a value

    by 1 Post-decrement

    >>> var a = 123; var b = a--; >>> b

    123 >>> a

    122 Pre-decrement

    >>> var a = 123; var b = --a; >>> b

    122 >>> a

    122

    http://www.packtpub.com/object-oriented-javascript-applications-libraries/book

  • For More Information: www.packtpub.com/object-oriented-javascript-applications-libraries/book

    Primitive Data Types, Arrays, Loops, and Conditions

    [ 26 ]

    When you type var a = 1; this is also an operation; it's the simple assignment operation and = is the simple assignment operator.

    There is also a family of operators that are a combination of an assignment and an arithmetic operator. These are called compound operators. They can make your code more compact. Let's see some of them with examples.

    >>> var a = 5; >>> a += 3;

    8

    In this example a += 3; is just a shorter way of doing a = a + 3;

    >>> a -= 3;

    5

    Here a -= 3; is the same as a = a - 3;

    Similarly:

    >>> a *= 2;

    10

    >>> a /= 5;

    2

    >>> a %= 2;

    0

    In addition to the arithmetic and assignment operators discussed above, there are other types of operators, as you'll see later in this and the following chapters.

    Primitive Data Types Any value that you use is of a certain type. In JavaScript, there are the following primitive data types:

    1. Number—this includes fl oating point numbers as well as integers, for example 1, 100, 3.14.

    2. String—any number of characters, for example "a", "one", "one 2 three". 3. Boolean—can be either true or false.

    http://www.packtpub.com/object-oriented-javascript-applications-libraries/book

  • For More Information: www.packtpub.com/object-oriented-javascript-applications-libraries/book

    Chapter 2

    [ 27 ]

    4. Undefi ned—when you try to access a variable that doesn't exist, you get the special value undefined. The same will happen when you have declared a variable, but not given it a value yet. JavaScript will initialize it behind the scenes, with the value undefined.

    5. Null—this is another special data type that can have only one value, the null value. It means no value, an empty value, nothing. The difference with undefined is that if a variable has a value null, it is still defi ned, it only happens that its value is nothing. You'll see some examples shortly.

    Any value that doesn't belong to one of the fi ve primitive types listed above is an object. Even null is considered an object, which is a little awkward—having an object (something) that is actually nothing. We'll dive into objects in Chapter 4, but for the time being just remember that in JavaScript the data types are either:

    Primitive (the fi ve types listed above), or Non-primitive (objects)

    Finding out the Value Type —the typeof Operator If you want to know the data type of a variable or a value, you can use the special typeof operator. This operator returns a string that represents the data t

Recommended

View more >