Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions src/functions/closure.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
var denver = {name : 'Denver', age : 14};
var petitPieds = {name : 'Petit Pied', age : -65000000};


function pure(a,b) {
//a.age = 15; NOT PURE
return a.age + b.age; //Pure de change pas les variables en entrée
}

console.log('pure ', pure(denver,petitPieds));

function unpure() {
//console.log ou screen() : will modify a stream
//capture the external petitPied object
//depends on external context, and not only params
console.log('kick : ' + petitPieds.name);
}
unpure();
20 changes: 20 additions & 0 deletions src/functions/foreach.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
var users = require('../data').users;

users.forEach(function (user) {
console.log('user name : ', user.name)
});
console.log(' ');
// no result sent by clog();
users.forEach(user =>console.log('user name : ', user.name));

//var admins = users.forEach(user => user.admin ? admins.push(user.name));
console.log(' ');

var admins= [];
users.forEach( function (user){
if (user.admin===true){
admins.push(user.name)
}
});

console.log(admins);
19 changes: 19 additions & 0 deletions src/functions/formats.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
console.log('2+3 ',add(2,3));


var mult = function multiply(a,b) {
return a*b;
}; //variable qui fait appel à une fonction donc peut changer au cour du temps

console.log('4*3 ', mult(4,3));

function add(a,b) {
return a+b;
};//fonction donc invariable peut être placer à la fin



//fat arrow est une variable de type fonction
var divide = (a,b)=> a/b;

console.log('6/3 ', divide(6,3));
30 changes: 30 additions & 0 deletions src/functions/operation.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
function add(a,b) {
return a+b;
};

//autre façon une variable minus qui est une fonction... marche de la meme manière
var minus = function (a,b) {
return a-b;
};

function divide(a,b) {
return a/b;
};

function multiply(a,b) {
return a*b;
};

console.log('2*6 : ', multiply(2,6));
console.log('2-6 : ', minus(2,6));

function operation (op, x, y){
return op(x,y)
};

console.log(operation(multiply,56,59));

var ops=[add, divide, multiply, minus];

var randomElement= ops[Math.floor(Math.random() * ops.length)];
console.log('random calcul : ', operation(randomElement,56,59));
25 changes: 25 additions & 0 deletions src/functions/sort.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
var x = [0 , 5, 6, 12, -12, 4, 8, 9];

var sortFunction=function(a,b){
if (a===b){
return 0;
}
return a<b ? -1:1;
};

console.log(x);
console.log(x.sort(sortFunction));

var users=require('../data').users;
console.log('users', users);
console.log('name', users.map(user=>user.name));

function sortUsers(user1,user2) {
if (user1===user2){
return 0
}
return user1.name<user2.name ? -1 : 1;

};

console.log('users', users.map(user=>user.name).sort(sortUsers));
33 changes: 33 additions & 0 deletions src/prototype/bind.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
function Dinosaurus(name) {
this.size = 12;
this.name = name;

}

Dinosaurus.prototype.age = -65000000;


const denver = new Dinosaurus('Denver');

function Carnivore() {

}

Carnivore.prototype.eat = function (obj) {
console.log(this.name + ' eats ' +obj.name);
}

const tRex = new Carnivore();
tRex.name = 'TRex';

const eating = tRex.eat;
eating(tRex);

BoundToDenver = eating.bind(denver)
console.log('bound eating to denver');
BoundToDenver(tRex);

eating.bind(denver)(tRex);
eating.bind(tRex)(denver);


17 changes: 17 additions & 0 deletions src/prototype/priority.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function Dinosaurus(name) {
this.size = 12;
this.name = name;

}

Dinosaurus.prototype.age = -65000000;
Dinosaurus.prototype.size = 20;

const denver = new Dinosaurus('Denver');
//new gives access to a prototype

const petitPied = new Dinosaurus('Petit Pied');
petitPied.size = 3;

console.log('Denver size : ', denver.size);
//console.log('Denver size : ', denver.prototype.size); Denver Objet n'a pas de prototype car il nest pas construit à partir du prototype
53 changes: 53 additions & 0 deletions src/prototype/prototype.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
*Note that we have here a Uppercase
* It's just a convention
*/


function Dinosaurus(name) {
this.size = 12;
this.name = name;

}

Dinosaurus.prototype.age = -65000000;


const denver = new Dinosaurus('Denver');
//new gives access to a prototype

const petitPied = new Dinosaurus('Petit Pied');
petitPied.size = 3;


console.log('Denver name : ', denver.name);
console.log('Denver size : ', denver.size );
console.log('petitPied size : ', petitPied.size );

console.log('Denver age: ', denver.age);
console.log('petitPied age: ', petitPied.age );

function TRex() {
this.name = 'Rex'
}

function Carnivore() {

}

Carnivore.prototype.eat = function (obj) {
console.log(this.name + ' eats ' +obj.name);
}
// Ecrit comme cela il me prend en compte que le dernier prototype écrit
//TRex.prototype = Dinosaurus.prototype;
//TRex.prototype = Carnivore.prototype;


//héritage multiple grâce au prototype
Object.assign(TRex.prototype, Dinosaurus.prototype);
Object.assign(TRex.prototype, Carnivore.prototype);

const rex = new TRex();
console.log('Rex age: ', rex.age);
console.log('Rex size: ', rex.size);
rex.eat(petitPied);
30 changes: 30 additions & 0 deletions src/prototype/this.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
function Dinosaurus(name) {
this.size = 12;
this.name = name;

}

Dinosaurus.prototype.age = -65000000;


const denver = new Dinosaurus('Denver');

function Carnivore() {

}

Carnivore.prototype.eat = function (obj) {
console.log(this.name + ' eats ' +obj.name);
}

const tRex = new Carnivore();
tRex.eat(denver);

tRex.name = 'TRex';
tRex.eat(denver);

denver.eat= tRex.eat;
denver.eat(tRex)

const eating = tRex.eat;
eating(denver);//ne va pas chercher au dessus this.name exciste pas
23 changes: 21 additions & 2 deletions src/start.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,29 @@

</head>
<body>
<h1>Hello Javascript</h1>
<p>You are so nice!!!</p>

<h1> Hello Javascript</h1>
<script type="text/javascript" src="http://underscorejs.org/underscore.js">

</script>



<script type="text/javascript">

function fact(x){
var result=1;
for (var i=0;i < x ; i++){

result=result*(i+1);
}
return result;
}
console.log(fact(170));

</script>

<p> You are so nice !</p>

</body>

Expand Down
Loading