Javascript

From Objectif Client Inc
Jump to navigation Jump to search

Basic

alert/prompt/confirm

alert('Windows Popup text');
prompt('Windows Popup Text and return value entered');
confirm('Display ok and Cancel button and return true or false');

Html Tag

<!DOCTYPE html>
<html>
<head>
   <title>Java script Demo</title>
</head>
<body>
   <h1>Titre niveau 1</h1>

   <script>
      alert('your javascript directely here! or in a separate file');
   </script>

   <script src="js/app.js" charset="utf-8"></script>  
</body>
</html>

Variables

var myVariable;
var myVariable = 10;
var myVariable = "some string"; var myVariable = 'some string'; var myVariable = 'it \'s easy';
var myBolean = 10 > 1;
var myOppositeBolean = !myBolean;
var myArray =['PHP','C++','Ruby','JS']

Comparison

  • Less: <
  • Greater: >
  • equal (value): ==
  • equal (value and type: ===
  • not equal: !=
  • undefined: == 'undefined'
  • function type of variable
alert(typeof myVariable);

Condition

Logic

  • and: &&
  • or: ||

if

var cond1 = 1 > 2 &&  2 > 3;
var cond2 = 1 < 2 | 10 > 1;
var myVariable2 = 0

if(typeof myVariable = 'undefined') {
   alert('This variable has not been declared');
}

if(myVariable2) {
   alert('This variable is empty');
}

if(cond1) {
   alert('cond1 is true');
} else if(cond2) {
   alert ('cond2 is true');
} else {
   alert('cond1 and cond2 are false');
}

switch / case

switch(value) {
   case 'val1':
      alert(' = val1');
   break;

   case 'val2':
      alert(' = val2');
   break;

   default:
      alert('None of previous case')
}

?

alert(( 10 > 1) ? 'true' : 'false');

Loop

while

var myNumber = 1;

while (myNumber <= 10) {
   console.log(myNumber);
   myNumber++;
}

while (true) {
   console.log(myNumber);

   if(myNumber ==10 {
      break;
   }   

   myNumber++;
}

do

do {
   myNumber = parseInt(prompt('Enter a number:'));
} while (isNaN(myNnumber));

   console.log(myNumber);

for

for {var myNumber = 0; myNumber < 30; myNumber++) {
   console.log(myNumber);
}

Basic validation

var number = parseInt(prompt('Enter a number'));

while(isNaN(number)) {
   number = parseInt(prompt('This is not a number: Retry:'));
}

Array

var myArray =['PHP','C++','Ruby','JS']

/* Display the first array value */
alert(myArray[0]);

/* Number of array */
alert(myArray.length);

for(var i =0; i < myAray.length; i++) {
   console.log('Index: '+i+': value ='+myArray[i]);
}

/* change an array value*/
myArray[2]='C#';

/* Add more array */
myArray.push('HTML', 'CSS');

/* Remove last array */
myArray.pop();

/* Remove first array */
myArray.shift();

/* Search in an Array return -1 if not found*/
var promptText = prompt('enter a programmation language');
alter(myArray.indexOf(promptText));

/* Remove from a specific index (remove 2 array from index 1)*/
myArray.splice(1,2);

/* Replace an array value of a specific index (remove 2 array from index 1 and add 2 value from index 1*/
myArray.splice(1,2, 'C#' ,'Java');

/* Concatain all array values within variables with a separator */
myCsv = myArray.join(';');

/* Transform a strin in array */
myCsv ='Cobol;RPG;VB;C';
myArray = myCsv.split(';');

Function

function functionName(parm1, parm2) {
   var result = Number(parm1) + Number(parm2);
   result +- 30
   return result;
}

alert (functionName(10,20);

var myFunction = function(params){
                        myHello = 'Hello'; 
                      };

alert(myFunction());

Object

/* name is an object inside user */
var user = {
   name: {
      first: 'Jules',
      last: 'Cesar'
   }, 
   age: 45,
   sex: 'M'
};

console.log(user);
console.log(user.name);
console.log(user.name.first);

/* Object constructor */
function User(name, age, sex) {
   this.name = name;
   this.age =age;
   this.sex = sex;
}

function Car(brand, y, own) {
   this.brand = brand;
   this.year = y;
   this.owner = own;

   this.textInformation = function() {
      alert(this.owner.name + ' own a ' + this.brand + ' of ' + this.year);
   };
}

var myUser = new User("Jean-Paul",50,"M");
console.log(myUser);

var myCar = new Car('BMW', 2018, myUser);
console.log(myCar);

myCar.textInformation();

myUser.name = "Sean";
console.log(myCar);

getElement

  • index.html
<html>
    <head>
            <meta charset="UTF-8">
       <title>Java script Demo</title>
    </head>
    <body>
       <h1 id="titre">Récupérer des éléments Html</h1>
            <p id="paragraph">My Paragraph</p>
            <p id="paragraph2">My second Paragraph</p>
            <p id="paragraph3">My third Paragraph</p>

            <form>
                <input name="dataEntry" type="text" value="Entry 01">
                <input name="dataEntry" type="text" value="Entry 02">
            </form>

            <div id="demo">
                <p class="list">Selection 01</p>
            </div>
                <p class="list">Selection 02</p>

       <script src="js/app.js" ></script>  
    </body>
</html>
  • app.js
/* getElementById */
var titre = document.getElementById("titre");
alert(titre.innerHTML);
console.log(titre);

/* getElementsByTagName */
var paragraphs = document.getElementsByTagName('p');
console.log("paragraphs:"+paragraphs);

for (var i=0; i < paragraphs.length; i++) {
    console.log(paragraphs[i].innerHTML);
}

/* getElementsByName */
var dataEntry = document.getElementsByName('dataEntry');
console.log("dataEntry: "+dataEntry);

for (var i=0; i < dataEntry.length; i++) {
    console.log(dataEntry[i].value);
}

/* querySelector */
var selection = document.querySelector(".list");
console.log("selection: "+selection);
console.log("selection.innerHTML: "+selection.innerHTML);

/* querySelectorAll */
var selectionAll = document.querySelectorAll(".list");
console.log("selectionAll: "+selectionAll);

for (var i=0; i < selectionAll.length; i++) {
    console.log("selectionAll[i].innerHTML: "+selectionAll[i].innerHTML);
}

var selectionAll2 = document.querySelectorAll("#demo .list");
console.log("selectionAll2: "+selectionAll2);

for (var i=0; i < selectionAll2.length; i++) {
    console.log("selectionAll2[i].innerHTML: "+selectionAll2[i].innerHTML);
}

Change Html Element

  • index.html
<html>
    <head>
            <meta charset="UTF-8">
       <title>Java script Demo</title>
    </head>
    <body>
       <h1 id="titre">Récupérer des éléments Html</h1>
            <p id="paragraph">My Paragraph</p>
            <p id="paragraph2">My second Paragraph</p>
            <p id="paragraph3">My third Paragraph</p>

            <form>
                <input name="dataEntry" type="text" value="Entry 01">
                <input name="dataEntry" type="text" value="Entry 02">
            </form>

            <div id="demo">
                <p class="list">Selection 01</p>
            </div>
                <p class="list">Selection 02</p>

       <script src="js/app.js" ></script>  
    </body>
</html>
  • app.js
/* Retrieve object */
var question = document.getElementById("question");
console.log(question.innerHTML);

var entry = prompt('What is your name ?')
question.innerHTML = 'Your ' + question.innerHTML + " is " + entry + '?';

/* Override Image */
var image = document.getElementById("image");
console.log(image.getAttribute('src'));
console.log(image.src);
console.log(image.getAttribute('class'));
console.log(image.className);

var srcImage =image.src;

var paragraph = document.getElementById("src-image");
paragraph.innerHTML += srcImage;

/* New Image */
image.src ='images/cat2.jpg';

srcImage =image.src;
paragraph.innerHTML = 'Image Source: ' + srcImage;

image.className = 'big borders';
console.log(image.classList);

image.classList.add('transition')
image.classList.remove('borders')

if(image.classList.contains('borders')) {
    console.log('somthing not planned here...');
} else {
    console.log('class borders has been removed !');
}