Basic Introduction of Javascript

Basic Introduction of Javascript

JavaScript Primer Basic Introduction of JavaScript JavaScript History • Why (re)introduce JavaScript? o Notorious for being world’s most misunderstood programming language (Douglas Crockford - http://javascript.crockford.com/javascript.html) o Scripting language of the World Wide Web o A very nice dynamic object-oriented general purpose programming language o Java- prefix suggests that JavaScript is somehow related to Java o ECMAScript 3 – first stable version of JavaScript standard (1999) and has remained stable ever since. o We will use ECMAScript 5 (2009) and not ECMAScript 6 (June, 2015) o Unlike most programming languages, the JavaScript language has no concept of input or output. o Browser is most common host environment o JavaScript interpreters found elsewhere – Adobe Acrobat, Photoshop, SVG images, Yahoo’s widget engine, server-side environments as Node.js JavaScript Overview • Lisp in C’s clothing o C-like syntax, including curly braces and clunky for statement makes it look like an ordinary procedural language o JavaScript has more in common with functional languages like Lisp and Scheme: o It has arrays instead of lists, and objects instead of property lists, BUT o Functions are first class objects; it has closures; You get lambdas without having to balance all those parens • Object-Oriented o It has objects which can contain data and methods that act upon that data o Objects can contain other objects o It does not have classes, but it does have constructors which do what classes do o It does not have class-oriented inheritance, but it does have prototype- oriented inheritance. o Private members: - http://www.crockford.com/javascript/private.html Brief Overview • Language with o Types, operators, standard built-in objects, and methods o Building blocks of the language: the types o JavaScript programs manipulate values, which belong to a type q Number q String q Boolean q Object (Function, Array, Date, RegExp) q null q undefined Numbers • Numbers in JavaScript are double-precision 64-bit format IEEE 754 values • No such thing as integer in JavaScript • Arithmetic operators are supported. • Built-in object called Math, provides advanced mathematical functionality • parseInt() and parseFloat() functions convert from string to integer or floating point, respectively • NaN, isNaN(), isFinite() are available String • Strings in JavaScript are sequences of Unicode characters o Each character is represented by a 16-bit number o String is a primitive type in JavaScript o Strings are immutable and are passed by value. o Strings have length property o Strings can be used like objects—they have methods that allow you to manipulate the string and access information about the string. o List of string methods: http://www.w3schools.com/jsref/jsref_obj_string.asp > var str = new String(”new string"); > str; > str.newProperty = ”new property value”; > str; Boolean Type • JavaScript has a boolean type—possible values are true and false. o true and false are both keywords o Any value can be converted to a boolean according to these rules: • false, 0, empty string (“”), NaN, null, undefined all become false or falsy • All other values become true or truthy o Boolean operations such as && (logical and), || (logical or), and ! (logical not) are supported. • Comparisons o Comparisons in JavaScript can be made using <, >, <= and >=. These work for both strings and numbers. o 123 == "123"; // true o 1 == true; // true Does type coercion 123 === "123"; // false o Avoids type 1 === true; // false o coercion Control Structures • if (condition 1){ … } else if (condition 2) { … } else { … } statements as in languages with C-like syntax • while(condition){ … } loops as in • do{ … }while(condition) loops • for (init; condition; increment){ … } loops • && and || use short circuit evaluation • switch statement for numbers and strings Objects • JavaScript objects can be thought of as simple collections of name-value pairs. o As such, they are similar to: • Dictionaries in Python. • Hashes in Perl and Ruby. • Hash tables in C and C++. • HashMaps in Java. • Associative arrays in PHP. o The "name" part is a JavaScript string, while the value can be any JavaScript value — including more objects. o Creating Objects var obj1 = new Object(); // create an empty object with new operator var obj 2= {}; // use object literal notation Object Prototype • An object from which other objects inherit their properties and methods • All built-in JavaScript objects inherit from the Object.prototype • Standard way to create an object prototype is to use an object constructor function function Person(name, age) { this.name = name; this.age = age; } // Define an object var You = new Person("You", 24); // We are creating a new person named "You" // (that was the first parameter, and the age..) Resources • https://developer.mozilla.org/en- US/docs/Web/JavaScript/A_re-introduction_to_JavaScript • http://javascript.crockford.com/javascript.html) • http://www.crockford.com/javascript/private.html • http://javascript.crockford.com/inheritance.html • http://www.w3schools.com/jsref/jsref_obj_string.asp • http://www.w3schools.com/js/js_object_prototypes.asp.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us