JavaScript Basics Stephen Delaney sdelaney@skokielibrary.info
Review: Creating Reusable Code with Functions Creating functions Returning values from functions Variable scope
Creating a Function When you see parentheses following a name, you know you’re seeing a function No semicolon after the closing brace
Calling a Function The bottom line calls the function
Return Statements Return statements: Pass a value (only one) Exit immediately
Arguments and Parameters The argument is stored in a variable called a parameter person is the parameter "Frank" is the argument
Variable Scope Function scope vs. global scope
Variable Scope Function scope vs. global scope
isNaN()
Throwing Errors
Questions? https://teamtreehouse.com/library/using-sql-and-nodejs-with-sequelize
Review https://teamtreehouse.com/library/using-sql-and-nodejs-with-sequelize
Variables Variables must begin with a letter, $ or _ Variables are case-sensitive var person and var Person are two variables typeof
Strings Properties i.e. string.length Methods i.e. string.toUpperCase()
Concatenation
Types of Numbers Integers 10, -8, 2787382 Floating point numbers 3.14, -10.6454 Scientific notation 5.7e+4 => 57000
Shorthand Operators += -= *= /= x += y is shorthand for x = x + y
Parsing Numbers parseInt() parseInt(10.6) 10 parseFloat() parseFloat(10.6) 10.6
Terms NaN Not a Number DRY Don’t Repeat Yourself
The Math Object Math.round() Math.round(10.6) 11 Math.floor() Math.ceil() Math.ceil(10.6) 11
The Math Object Math.random() Floating number, from 0 (inclusive) to 1 (exclusive)
Comparison Operators Operator Meaning True expressions == Equality 10 == '10' === Strict equality (2 * 5) === 10 != Inequality 9 != 10 !== Strict inequality '10' !== 10 > Greater than 20 > 10 >= Greater than or equal '10' >= 10 < Less than 10 < 30 <= Less than or equal '10'<= 10
And Operator: && Condition 1 Condition 2 Result TRUE FALSE
Or Operator: || Condition 1 Condition 2 Result TRUE FALSE
Not Operator: ! Condition Result TRUE FALSE
If Statements integrated development environment
What’s next?
Next Steps jQuery jQuery is used by 71.8% of all websites. That is a JavaScript library market share of 96.4%. https://w3techs.com/technologies/overview/javascript_library/all
Next Steps AJAX Asynchronous JavaScript And XML Get data without a page refresh https://w3techs.com/technologies/overview/javascript_library/all
Next Steps MEAN stack “In the MEAN stack, we use MongoDB as our database. We write most of our code in Javascript. We rely on Node and Express.js to host our application and serve APIs/Views. We use AngularJS to render our views that are served by Express.”
Next Steps MEAN stack
Navigate to library: Sort by difficulty Select course Select JavaScript https://teamtreehouse.com/library/topic:javascript/type:course/sort:difficulty
Recommended Syllabus JavaScript Loops, Arrays and Objects JavaScript and the DOM jQuery Basics There is also a shorter one called Introduction to jQuery. AJAX Basics
Recommended Syllabus Interactive Web Pages with JavaScript Object-Oriented JavaScript Node.js Basics Build a Simple Dynamic Site with Node.js Express Basics Build a REST API With Express Mongo Basics* Angular Basics* Building a MEAN Application *Indicates a course that is not under JavaScript Application program interface (API) Representational state transfer (REST) Create, read, update, destroy (CRUD) http://softwareengineering.stackexchange.com/questions/120716/difference-between-rest-and-crud
NoSQL vs. SQL
Comparing NoSQL and SQL Are you Google? Do you know what you are building? What framework are you in?
Comparing NoSQL and SQL What is NoSQL? SQL vs. NoSQL The NoSQL Debate: Automatic vs. Manual Transmission When should I use a NoSQL database instead of a relational database? NoSQL Use Case Scenarios or WHEN to use NoSQL
Comparing NoSQL and SQL http://db-engines.com/en/ranking
ORM
ORM Object-relational Mapping Translates between you and SQL Makes life easier! MEAN stack is optimized for MongoDB (Mongoose ORM), but if you would like to use SQL: Sequelize Treehouse: Using SQL and Node.js with Sequelize Bookshelf.js
Thanks!