Download presentation
Presentation is loading. Please wait.
Published byBethany Holland Modified over 9 years ago
1
JAVASCRIPT Introduction Kenny Lam
2
What is Javascript? Client-side scripting language that can manipulate elements in the DOM Event-driven language that responds to activity on the webpage In the end, adds an interactive element to the page without having to load a new page
3
More about… Dynamic typing Interpreted language Object Oriented Protoypes for inheritance May be different for different browsers May be different for different versions of different browsers
4
JAVASCRIPT Variables and Basic Syntax Kenny Lam
5
Importing your Javascript Two places to import your javascript element End of element OR … …
6
Variables Only one prefix to remember, use var with all your variables when declaring them Different variable types include (objects later) Numbers Booleans String Null Undefined var x = 6.470; var y = ‘hello world’; var s = true;
7
Variables pt. 2 Numbers – double precision, be careful of floating point errors Null – for explicitly saying non-assigned value Undefined – for never having assigned anything
8
Strings Array of characters Comes with a variety of built-in methods length, indexOf, match, replace, search, split, substr, substring, toString var s = ‘hello world’; s[1];// value of ‘e’ s.indexOf(‘\ ’);// value of 5 s.substr(8);// value of ‘rld’
9
Syntax Be a clean coder when it comes to javascript, can lead to hazards if not careful If-else statements. Use blocks End appropriate lines with semicolons Use either single or double quotes, but don’t mix and match if (expression) { //code } else { //code } var s = ‘string here’; var x = ‘we can have a “string” inside another!’
10
Objects Same as a dictionary/hash table in other languages Can use strings as keys, helps with disallowed characters Values are any acceptable var’s Can even use functions as values (later) var x = 6470; var obj1 = {//the braces create an object key1: x,//use commas to separate keys “key2”: “string” };//ending my declaration var obj2 = { key: obj1//can even have an object! };
11
Objects pt. 2 Access using object.property Access using array notation obj1.key1;//will give 6.470 obj1.y = 3; obj2[‘key’]
12
Special Objects Two very special objects: window and document The document object holds the DOM elements Every window/tab houses everything inside of the window object document.body;//returns the element window.location;//gives the URL for the window
13
Arrays Special type of objects, using numbers as keys Has many special methods length, push, pop, concat, toString var tmpArray = [“string”, 6.470, obj1]; //different variable types are okay tmpArray[0];//value “string” tmpArray[2].key1;//value 6.470
14
The console Console logging Shows visibility of object properties Web page source code Breakpoints console.log(obj1);//you can see all its properties console.log(“message”); console.log(array1);//can read all elements
15
JAVASCRIPT Operators and Functions Kenny Lam
16
Operators All the common mathematical operators +, -, *, /, % (mod) Unary operators Compound assignment Overloaded + operator for strings More operators in Math module for numbers (use Math.pow, not the carat) x++; ++x; x*=3; “string1” + “string2”;// gives “string1string2” “3” + 8// gives “38” “1” + 2 + 3// gives “123”
17
Operators pt. 2 Comparison operators: , >= For non-strict equality comparisons, can use == For strict equality comparisons, use === Also non-equality comparisons: !=, !==
18
Functions Functions are objects, two ways of declaring Just use number of parameters because of dynamic typing function fun(x,y) {//will take 2 parameters //code }; var funFunc = function(a,b,c) {//uses 3 parameters //code }; fun(“string”, obj1); fun(obj1, obj2);//these two call the same function!
19
Functions pt. 2 Lots of bad flexibility. Function calls don’t need to match signature! If you need a variable number of arguments, use the arguments object fun(x,y); fun(x,y,z);//these will both call the same function function abc() { arguments.length; arguments[0]; //more code }
20
Functions pt. 3 Object properties can be functions too (since functions are objects) Functions return undefined by default, but can return any value Recursive calls
21
Scope Functions define scope of variables The ‘this’ reference Anonymous functions, closure, and inner functions are fun ways to play with this var x = 13; function scopeFun() { var x = 12; console.log(x);//value of 12 console.log(this.x);//value of 13 };//helps to show why to use var!
22
Execution Javascript is executed in the order written To get asynchronous behavior, use setTimeout or AJAX calls (more later)
23
JAVASCRIPT Classes and Inheritance Kenny Lam
24
Object Oriented Can create classes in javascript, defined by functions (constructors) The ‘new’ keyword makes a new object and sets up the constructor correctly function MITClass(course, semester){ this.course = course; this.semester = semester; } var web = MITClass(6.470, “IAP 2013”); web.course;//value 6.470 web.semester;//value “IAP 2013”
25
Prototypes In javascript, you inherit from instances instead of classes The ‘__proto__’ property of objects, and the ‘prototype’ property of functions var x = MITClass(6.470, “IAP 2013”); x.prototype;//undefined, x is an object! MITClass.__proto__;//bogus, MITClass is a function! x.__proto__;//some object MITClass.prototype;//same object x.__proto__ == MITClass.prototype;//true x.__proto__ === MITClass.prototype;//true
26
JAVASCRIPT Conditionals and Loops Kenny Lam
27
Conditionals If-else statements Switch statements if (condition) {if(condition) {//code } else {else if(condition) {//code }} else { //code } switch(variable) { case 1: //code break; case 2: //code break; default: //code }
28
Looping For loops While loops Do…while loops var i=0; for(var i=0; i<n; i++) {while(i<n) {//code} for(var x in ObjectName) { ObjectName[x]; //code }
29
JAVASCRIPT jQuery Kenny Lam
30
About jQuery Open source aid to writing effective javascript Bundles all the power of javascript into more manageable API Cross-browser support Handles events, manipulates DOM, provides animations Wait for DOM to load properly $; //the dollar is shorthand for jQuery jQuery; //also jQuery (surprise) var x = jQuery.noConflict(); $(document).ready()
31
Selectors Any CSS style selectors are valid Most typical will be id, class, and element type selectors $(‘#id’) //select elements using the hash prefix $(‘.class’) //select elements using the dot prefix $(‘div’) //select elements by node type $(‘div:first’).parent() //select parent of first div
32
Events Provides a great way to handle events Read the documentation for all possible events Common events click, blur, keypress, focus, hover, submit, etc. $(‘#id’).click(function(event) { //code to execute on a click of #id element });
33
Extras jQuery can also do loops that integrate well with selectors The jQuery API is used for jQuery objects. Be careful of ‘this’ $(‘div’).each(function() { //code }); $(‘div’).click(function() { //you can reference ‘this’ in here and it will mean the clicked div //but you might really want $(this) });
34
JAVASCRIPT More Reading Kenny Lam
35
Additional Topics Console/debugging Cookies Closures Regex Storage Anonymous/named anonymous functions Other cool javascript libraries! (Raphael, lightbox, scriptaculous, jQuery UI, prototype, mooTools, etc.)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.