Web base - Javascript (Node.js): Elementi di base

Preview:

Citation preview

TECNOLOGIE WEB BASE

Javascript (Node.js):elementi di base

Programmi sincroni e asincroni

Programmi sincroniUna istruzione viene

eseguita solo dopo che è terminata l’esecuzione

dell’istruzione precedente.

Programmi asincroniUna istruzione può essere

eseguita prima che sia terminata l’esecuzione

dell’istruzione precedente.

PYTHON

JAVASCRIPTNella interrelazione con il DOM o con un server

Javascript e Node.js

Node.js è un versione di javascript che può essere eseguita dal server.

Per fare i primi passi in javascript, utilizzeremo la versione node.js eseguita da server che, non interagendo con il dom, non pone problemi di

esecuzione asincrona delle istruzioni.

var MESSMESS= 'Hello World!';

VARIABILI

JavascriptAssegnazione

PythonAssegnazione

MESS=’Hello World’

dichiarazione

STRINGHE

Javascript(string/ ‘’)

Python(str)

var STR, STR1, STR2;STR1=’Hello ’;STR2=’world’;STR =STR1+STR2;

STR.replace(‘Hello’,’Wonderfull’);

STR.lenght

typeof STRSTR.constructor()

STR1=’Hello ’;STR2=’world’;STR =STR1+STR2;

STR.replace(‘Hello’,’Wonderfull’);

len(STR)

type(STR)

Numeri

Javascript(number/ 0)

Python(int, float)

var NUM1, NUM2, NUM3;NUM1=5;NUM2=3.66;NUM3=NUM1/NUM2;

NUM3.toFixed()

NUM3.toString()

typeof NUM3NUM3.constructor()

NUM1=5;NUM2=3.66;NUM3=NUM1/NUM2;

int(round(NUM3,0))

str(NUM3)

type(NUM3)

Liste

Javascript(object/ [ ])

Python(list)

var LIS1, LIS2;

LIS1=[10,12,52,64,37,'a','b']LIS2=[7,55,44]

LIS1+LIS2 stringLIS1*2 NaNLIS1.concat(LIS2)LIS1[0]LIS1[5]LIS1.slice(0,3)

typeof LIS1LIS1.constructor()

LIS1=[10,12,52,64,37,'a','b']LIS2=[7,55,44]

LIS1+LIS2 concatenazioneLIS1*2 LIS1+LIS1LIS1+LIS2LIS1[0]LIS1[5]LIS1[0:3]

type(LIS1)

Dizionari

Javascript(object/ { })

Python(dict)

var DIZ1, DIZ2;

DIZ1={'DEU':100, 'FRA':150 }DIZ2={'ITA':50, 'ESP':500}

DIZ1[‘DEU’]

typeof DIZ1DIZ1.constructor()

DIZ1={'DEU':100, 'FRA':150 }DIZ2={'ITA':50, 'ESP':500}

DIZ1[‘DEU’]

type(DIZ1)

Blocco if

Javascript Python

var V1=20;var RIS='';

if (V1<5) {RIS="V1 is <=5";}else if (V1<15) {RIS="V1 is ranging 5-15";}else {RIS="V1 is >=15";}

V1=20

if V1<5: RIS="V1 is <=5"elif V1<15: RIS="V1 is ranging 5-15"else: RIS="V1 is >=15";

Ciclo for

Javascript Python

var text=''for (var i=0; i<10; i=i+1) {text = text +" " + i}

text=''for i in range(0,10):

text = text +" " + str(i)

Ciclo while

Javascript Python

var i=0;var text=''while (i < 10) {text = text +" " + i; i=i+1;}

text=''i=0while True:

text = text +" " + str(i)i=i+1if i >= 10:

break

TECNOLOGIE WEB BASE

Javascript e Node.js:oggetti globali

Oggetti globali javascript e Node.js

javascript Node.jsconsole console

E’ un oggetto globale che fornisce una interfaccia di debug.

console.log(‘......’) console.log(‘.....’)Scrive la stringa passata come argomento nello standard output

L’oggetto console di Node.js non replica perfettamente l’oggetto console dei principali browser. Ad esempio non ha implementato il metodo .clean() per cancellare il contenuto dello standard output

Moduli base Node.js e python

Node.js Pythonos sys path process

osvar os=require('os');var sys=require('sys');var path=require('path');

import osimport sys

sys

process.env.PATH sys.path

path.dirname()path.join('...','...’')process.cwd();os.hostname()os.arch()process.pid

os.path.curdiros.sys.join(‘......’, ‘.......’)os.path.abspath(os.path.curdir)os.uname()

os.getpid()

LEZIONE 1..www.fordatascientist.org

D00-Web-JsBaseD10-Nodejs-Introduction

TECNOLOGIE WEB BASE

Funzioni

Funzioni: tramite dichiarazione

Javascript Python

function Sum(N1,N2){// This function does sum of two numberconsole.log('Sum is running')S=N1+N2;return S

}

var N;N=Sum(12,74);

def Sum(N1,N2):‘’’This function does sum of two number’’’print('Sum is running')S=N1+N2;return S

N=Sum(12,74);

Funzioni: tramite assegnazione

Javascriptvar Sum= function (N1,N2){

// This function does sum of two numberconsole.log('Sum is running')S=N1+N2;return S

}

var N;N=Sum(12,74);

dal punto di vista funzionale, la creazione di una funzione tramite dichiarazione è equivalente alla creazione tramite assegnazione. La creazione tramite assegnazione può essere utile in termini di “chiarezza del codice” quando si vuole utilizzare la funzione come input di un’altra funzione. Ad esempio

var SAY=function(WORD) {console.log(WORD);}

function Exec(someF, VAL) {someF(VAL);}

Exec(SAY, "Hello");

Funzioni: dichiarazione e assegnazione

Le funzioni create tramite dichiarazione sono caricate in memoria centrale prima di processare le altre istruzioni.

Una funzione creata tramite dichiarazione può essere posizionata anche dopo la sua chiamata.

Scope delle variabili interne ad una funzione

Javascript Python

possono essere sia locali che globali. Sono locali se sono create tramite il costruttore ‘var’. Sono globali se sono create tramite una semplice assegnazione.

una variabile creata all’interno di una funzione è sempre locale, a meno che essa prima di essere creata non sia stata definita come ‘global’

LEZIONE 1..www.fordatascientist.org

D00-Web-JsBaseD12-Nodejs-Function

CONTATTI TELEFONO

051 22 35 20

EMAIL WORKSHOP@VICEM.IT

varnumber

typeof

string

object

[ ]

{ }constructor

Recommended