142 captures
13 Sep 2006 - 14 Oct 2025
May JUN Jul
17
2019 2020 2021
success
fail

About this capture

COLLECTED BY

Collection: Media Cloud

A longitudinal web archival collection based on URIs from the daily feed of Media Cloud that maps news media coverage of current events.
TIMESTAMPS

The Wayback Machine - http://web.archive.org/web/20200617131621/https://ca.wikipedia.org/wiki/JavaScript
 





JavaScript



De Viquipèdia


Salta a la navegació  Salta a la cerca  
No s'ha de confondre amb Java (llenguatge de programació).
Infotaula de llenguatge de programacióJavaScript
Unofficial JavaScript logo 2.svg
Tipusllenguatge script, llenguatge de programació basat en prototips, llenguatge de programació imperatiu, llenguatge de programació funcional, event-driven programming language (en) Tradueix, plataforma informàtica, Llenguatge interpretat, llenguatge de programació multiparadigma, prototype-based programming (en) Tradueix, programació genèrica, programació funcional, llenguatge imperatiu, programació orientada a aspectesiprogramació orientada a events modifica
Data de creació4 desembre 1995 modifica
DissenyBrendan Eich modifica
EpònimJava modifica
Darrera versió estableECMAScript 2019 () modifica
Influenciat perScheme, Self, Java, C, LiveScript, Python, Lua, Perl, awkiHyperTalk modifica
Etiqueta d'Stack ExchangeEtiqueta modifica

JavaScript és un llenguatge script basat en objectes implementat originàriament per Netscape Communications Corporation, i que va derivar en l'estàndard ECMAScript.[1][2][3] És conegut sobretot pel seu ús en pàgines web, però també s'utilitza en altres aplicacions.[2]

Malgrat el seu nom, JavaScript no deriva del llenguatge de programació Java,[4] però tots dos compartixen una sintaxi similar inspirada en el llenguatge C. Semànticament, JavaScript és més pròxim als llenguatges SelfiActionScript (basat també en l'ECMAScript). El nom "JavaScript" és una marca registrada per Oracle Corporation.

Característiques[modifica el codi]

És un llenguatge de programació basat en objectes i de guió (també conegut com a script) que suporta els principis de polimorfisme, herència per delegació), abstraccióiencapsulació. És sensible a les majúsculesiminúscules, està orientat a esdeveniments (principalment solen implementar-se als botons del codi HTML[4]), se sol utilitzar per a generar codi HTML[2] i és un llenguatge de programació interpretat.[5]

Quan s'utilitza com a llenguatge al costat del client en l'àmbit web, els scripts s'executen al navegador web, servint com a extensió de les capacitats del llenguatge de la web HTML.[6] La interacció entre JavaScript, el codi HTML i el navegador web es fa possible mitjançant un conjunt d'objectes que representen l'estructura d'una pàgina web en forma d'arbre, anomenat Model d'Objectes del Document.[7]

Història[modifica el codi]

El 1993 el National Center for Supercomputing Applications creà el navegador web Mosaic. Per a explotar les possibilitats de la web, que estava en desenvolupament, es fundà l'empresa Netscape Corporation. Netscape creà el navegador Netscape Navigator. Netscape es donà compte de la necessitat de que el contingut web havia de ser més dinàmic. Així el 1995 contractà a Brendan Eich.[1]

El 1995, Brendan Eich[2] va desenvolupar en Netscape Corporation[1] la primera versió d'este llenguatge sota el nom Mocha, rebatejat LiveScript i finalment Javascript.[4] Aquest últim canvi de nom va coincidir amb la inclusió de la tecnologia Java per part del navegador web Netscape. La primera versió del llenguatge es va presentar el desembre de 1995 a la versió 2.0B3 del navegador Netscape. Microsoft implementà més tard una versió amb el nom JScript, però sovint també se l'anomena Javascript.

En un principi, s'usava a pàgines web HTML, per realitzar feines i operacions al marc de l'aplicació client servidor. Amb l'aparició de la Web 2.0, Javascript s'ha convertit en un veritable llenguatge de programació que aporta la potència de càlcul al navegador per augmentar la usabilitat d'aplicacions web amb tècniques avançades com AJAXoJCC.

El 1997 els autors van proposar Javascript com a estàndard de l'European Computer Manufacturers Association ECMA, que tot i el seu nom no és europeu, sinó internacional, amb la seu a Ginebra. El juny de 1997 va ser adoptat com un estàndard ECMA, amb el nom ECMAScript. Poc després també va ser un estàndard ISO.

JScript és la implementació del ECMAScript de Microsoft, molt similar al JavaScript de Netscape, però amb certes diferències al model d'objecte del navegador que fan les dues versions incompatibles.

Per evitar aquestes incompatibilitats, el World Wide Web Consortium va dissenyar l'estàndard Document Object Model (DOM, o Model d'Objectes del Document en català), que incorpora el Konqueror, les versions 6 d'Internet ExploreriNetscape Navigator, Opera versió 7, i Mozilla des de la seva primera versió.

Programa d'exemple[modifica el codi]

Aquest programa escriu "Hola món" al dispositiu de sortida per defecte,

 document.write('Hola, món!');

o amb una alerta

 alert('Hola, món!');

Per experimentar fora del navegador podeu descarregar-vos el motor Javascript de Mozilla

rhino --help

Un cop descarregat i desempaquetat, obriu una finestra de comandes, canvieu directori a la carpeta del paquet obert i activeu el Rhino sobre JVM amb

java -jar js.jar

Característiques[modifica el codi]

Generals[modifica el codi]

Les relacions d'herència entre objectes no són per classes i subclasses, sinó individuals entre un objecte i un altre, anomenat el seu prototipus (relacionats mitjançant la propietat prototype), al qual es deleguen les operacions i propietats que el primer desconeix (no pròpies o específiques).

Vegeu l'exemple més avall a "Creació d'objectes".

Sintaxi[modifica el codi]

Comentaris[modifica el codi]

 // comentari fins a fi de línia
 /* comentari 
    multilínia
 */

Blocs[modifica el codi]

'{' instrucció ';' instr. '}'

Tipus i valors[modifica el codi]

Undefined
  undefined   // valor de variables no definides
              //   i dels paràmetres formals de funcions, absents a la crida

  if (nom_var == undefined) nom_var = valor_per_defecte ;

  var excepció_manca_param = "manca paràmetre" ;
  var doble = function (x) { if (x == undefined) throw excepció_manca_param ;
                             else return 2 * x; 
                           }  
  try {
   doble() ;
  }
  catch (error) {
    if (error == excepció_manca_param) alert("Error: "+error) ;
  }
Null
 null
Boolean

Operacions segons l'Àlgebra de Boole: (! :not),(&& :and),(|| :or)

  false, true
  Boolean( <expressió_de_qualsevol_tipus> ); // conversió a booleà
   // (els elem. neutres de la suma o concatenació avaluen a fals)
Number, real de 64 bits

Operacions segons la norma IEEE 754.

  0 -1 1.5 -2E-3 NaN +Infinity -Infinity      
  // NaN és Not-a-Number (No-Numèric) com ara 0/0,
  // ''Infinity'' indica sobreeiximent en el càlcul
  Number( <expressió_de_qualsevol_tipus> );  // conversió a numèric 

  parseInt( string)   // llegeix un enter
                          // parseInt("") == NaN
                          // parseInt("1.5") == 1
                          // parseInt("0xA") == 10    // llegeix hexadecimal
  parseFloat( string) // llegeix un real
                          // parseFloat("1.2") == parseFloat("12E-1")
                          // parseFloat("1.2.3") == 1.2
                          // parseFloat("E1") == NaN

  isNaN( number)      // és resultat de 0/0 ? (NaN: No-Numèric)
  isFinite( number)   // (negat) hi ha hagut sobreiximent ?, per ex. 1/0 == Infinity (no dispara
                      // div-per-zero)
String
  "" "abc" 'abc'
  // conversió a cadena de caràcters de l'expressió
  String(  <expressió_de_qualsevol_tipus> );

Operacions:

 str1 + operand === str1.concat( String(operand))     // concatenació 
 operand + str2 === String(operand).concat( str2) // concatenació
 "c".localeCompare("d") === -1  // {1 (>), 0 (==), -1 (<), o primera diferència no nul·la de charCodeAt en els caràcters}
 "0123".substr (1, 3) === "123"      // str.substr( inici, llargada)
 "0123".substring (1, 3) === "12"    // str.substring( inici, índex_aturador)
 "0123".slice (1, 3) === "12"
 "0123".charAt( 1) === "1"
 "0123".charCodeAt( 1) === 49  // Codi decimal del caràcter
 "18/11/2011".split ("/") === ["18", "11", "2011"]
 "18/11/2011".split ("/", 2) === ["18", "11"]   // amb límit de particions
 "a//".indexOf("/") === 1
 "a//".lastIndexOf("/") === 2
 "abc".replace("b","p") === "apc"
 "abcd".search("cd") === 2    // (-1) en cas de fracàs en la cerca.

 String.fromCharCode(64) === "@" 
 "@".charCodeAt(0) === 64
Object

Objecte[modifica el codi]

Conjunt de propietats amb valor associat. (diccionari propietat → valor)

  var obj = { propietat1: valor1, propietat2: valor2, ..}

new devant d'un constructor genera objectes, sense new, constructors com ara String() no estan obligats, segons l'estàndard, a generar un objecte, sinó només la conversió al tipus primitiu (cas de booleans i nombres) o escalar (cas de tires de caràcters).

propietats de l'objecte Object, prototipus inicial dels objectes nous[modifica el codi]

  obj.hasOwnProperty ( 'prop')      // consulta si l'objecte té la prop. específicament,  
                                    // i no per delegació al prototipus
  obj.isPrototypeOf ( altre_obj)       // si és prototipus de
  obj.propertyIsEnumerable ( 'prop' )   // si la prop. sortirà llistada en un bucle 'for(' prop_var
                                        //'in' obj ')'
  obj.toString()                      // representació estàndard
  obj.toLocaleString()                // representació segons ''Locale'' (característiques de cultura       
                                      // local)
  obj.valueOf()              // retorna el seu valor d'instància (''this'')

Number[modifica el codi]

  obj = new Number( expr.)   // amb new el nombre admet propietats a més del valor
 
  obj = new Number( 5)
  obj.una_altra_prop = "abc"
  Number.MAX_VALUE           // 1.7976931348623157 × 10^308
  Number.MIN_VALUE           // 5                  x 10^-324
  Number.NaN                // valor ''Not-a-Number'' (cat:No-Numèric), ex.: resultat de 0/0
  Number.POSITIVE_INFINITY  // indica "sobreeiximent en operacions de resultat positiu"
  Number.NEGATIVE_INFINITY  // indica "sobreeiximent en operacions de resultat negatiu"

String (cadenes de text)[modifica el codi]

  var a = new String( "0123")   // amb new fem un objecte, podem afegir-li propietats
  var a = "0123"                // valor [[escalar_(informàtica)|escalar]], no podem afegir-li propietats

mètodes (La majoria de mètodes de String no tornen un objecte String sinó un valor primitiu (escalar) de tipus String)

Funció[modifica el codi]

  var variable_o_propietat = function (param1, param2, ..) { codi }
  // o també
  function nom_de_funcio  (param1, param2, ..) { codi }

Array (vectors)[modifica el codi]

  var a = new Array( llargada)
  var a = [0, 1, 2, 3, 4]
  var a = Array(0, 1, 2, 3, 4)   // un sol param. llargada 
                        //; més d'un, suposa que són elements
  a.length   // llargada
  // mètodes generadors: push (apila), unshift (afegeix pel cap), concat
  // mètodes consultors: slice (llesca), join (ajunta formant String)
  // mètodes mutadors: pop (desapila), shift (lleva el primer),
  // reverse, sort
  // splice (substitueix elements)

Date (data)[modifica el codi]

El tipus Date permet el càlcul amb dates amb una aproximació d'un mil·lisegon.[10]

El temps, segons l'especificació ECMAScript, es mesura en mil·lisegons des de l'1 de gener de 1970 (Època Unix). Els segons intercalars no hi són comptats.[10]

Les dates són una extrapolació del temps en mil·lisegons al Calendari gregorià[10]

  var a = new Date()  // Ara
  // inicialització
  var a = new Date('Jan 10, 2009 12:01:02') // amb text interpretat com data/hora local
  var a = new Date (any, mes [, dia [, hora [, minuts [, segons [, ms]]]]]) // amb hora local
  var a = Date.UTC (any, mes [, dia [, hora [, minuts [, segons [, ms]]]]]) // amb hora UTC

  a.getTime() // valor intrínsec (this) de l'objecte Date 
              // (mil·lisegons des de l'[[hora Unix|època Unix]]) 
  a.getTimezoneOffset() // valor segons l'ajustatge del sistema op.

Alguns d'aquests mètodes poden desconcertar pel nom o rang de valors:

  // camps resultat de l'extrapolació al Calendari Gregorià
  a.getDate()  // dia numèric del mes, rang  1..28..
  a.getDay()   // dia numèric de la setmana rang 0..6
  a.getMonth() // mes numèric, rang 0..11
  a.getYear()  // obsolet!!, any des de 1900.<ref>[http://download.oracle.com/javase/1,5.0/docs/api/java/util/Date.html#getYear() Java API - Date.getYear()] mètode obsolet!!</ref>
  a.getFullYear // any complet
  a.getHours() getMinutes() getSeconds() getMilliseconds() 
  // funcions hora [[UTC]] substituint el prefix get...() per getUTC...()

RegExp (expressió regular)[modifica el codi]

 var a = '/' patró_d'expressio_regular '/' senyals
 
 // EBNF senyals ::= { 'g' | 'i' | 'm' }

propietats:

  str  a.source  // cadena patró
  num  a.lastIndex   // posició on començar el proper intent d'encaixar, inicialment 0
  bool a.global      // ''senyal'' g -- (cerca múltiple) actualitza la 
                     //                 propietat lastIndex per a la cerca següent
  bool a.ignoreCase  // ''senyal'' i -- ignora caixa majús/min
  bool a.multiline   // ''senyal'' m -- ignora salts de línia

mètodes

  a.test( str)  // equival a:  a.exec( str) != null
 
  res = a.exec( str)  // executa l'expressió regular contra la cadena str 
                      // fins a aconseguir un encaix
 
  /* el resultat és o null (fracàs), o en cas d'èxit, un objecte Array amb propietats addicionals
  -- res.length           : nombre d'encaixaments corresp. a tot el patró més grups assenyalats 
                            pels parèntesis
  -- res[ 0]              : subcadena  encaixada corresponent a tot el patró
  -- res[ 1..length-1]    : subcadenes corresponents a grups
  -- res.index            : posició d'inici de l'encaix trobat a str
  -- res.input            : valor de la cadena d'entrada str
  -- cas del ''senyal'' "g", a.lastIndex s'incrementa amb la llargada del resultat de l'encaix 
                             res[0], preparat per a la cerca de l'encaix consecutiu
  */

Math[modifica el codi]

Biblioteca d'operacions numèriques:

  Math.floor( -3.5) == -4  // terra: major enter inferior -- cas de positius: part entera
  Math.ceil( -3.5) == -3   // sostre: menor enter superior
  ...

Creació d'objectes[modifica el codi]

directament[modifica el codi]

 var objJoanPersona = new Object()
 objJoanPersona.nom = 'Joan'
 objJoanPersona.edat = 25
 
 // o també
 
 var objJoanPersona = {nom: 'Joan', edat: 25}

amb una funció constructora[modifica el codi]

Quan una funció es fa servir amb new s'anomena Constructor i inicialitza l'objecte creat amb new.

 function Alumne( academia, numMatricula, assignatures)
 {
   this.academia = academia ;
   this.numMatricula = numMatricula ;
   this.assignatures = assignatures ;
 }
 
 var objAlumne = new Alumne( 'La Meva Escola', 36, ["Javascript", "Java"] ) ;

amb mecanisme d'herència per delegació a un altre objecte[modifica el codi]

Una funció Constructora d'objectes pot especialitzar un altre objecte si l'assigna a la propietat prototype de la funció.

 // afegim la propietat ''prototype'' a la funció plantilla ''Alumne'' abans de fer-ne instàncies
 Alumne.prototype = objJoanPersona       // previ a la instanciació dels alumnes
 
 var objJoanAlumne = new Alumne( 'Escola A', 36, ["Javascript", "Java"] ) ;
 
 objJoanAlumne.nom  // resultat, per delegació al prototipus objJoanPersona, 'Joan'
 
 objPereAlumne = new Alumne( 'Escola A', 135, ["Haskell", "OCaml"] ) ;
 objPereAlumne.nom = 'Pere' // en assignar, genera una prop. específica de l'obj.,
                                           // l'objecte prototipus no queda afectat.

this a la dreta d'una assignació equival al super dels llenguatges orientats a objectes per demanar el valor del mètode de la superclasse

  var ClasseArrel = function( str) {this.prop = str}  // funció constructora
  var obj1 = new ClasseArrel( "abc")

  var ClasseDerivada = function( str) {
        this.prop = this.prop + str  // concatena la propietat "prop" del prototipus amb la var. "str"
  } 
  ClasseDerivada.prototype = obj1    // ref. a una instància de ClasseArrel
  var obj2 = new ClasseDerivada( "def") 

> obj1.prop
"abc"

> obj2.prop
"abcdef"

instanceof[modifica el codi]

  var ésAlumne_EnPere = objPereAlumne instanceof Alumne  // true

  obj1 instanceof ClasseArrel      // true
  obj2 instanceof ClasseDerivada   // true
  obj2 instanceof ClasseArrel      // true

L'objecte Global[modifica el codi]

Valors i funcions globals definits a la norma ECMA262 edició 3a.:

NaN (acrònim de Not_a_Number, en català: No_Numèric) , Infinity, undefined
 eval( x)
 parseInt( string)   // llegeix un enter de l'string 
                           // parseInt("") == NaN
                           // parseInt("1.5") == 1
                           // parseInt("0xA") == 10    // llegeix hexadecimal
 parseFloat( string) // llegeix un real 
                           // parseFloat("1.2") == parseFloat("12E-1")
 isNaN( number)      // és resultat de 0/0 ? (NaN: No-Numèric)
 isFinite( number)   // (negat) hi ha hagut sobreiximent ?, per ex. 1/0 == Infinity (no dispara
                     // div-per-zero)
 encodeURI( uri)     // substitueix en una [[URI]] determinats caràcters per seqüències d'escapament 
                     // ASCII amb % seguit de 2 dígits hexadecimals, com ara %3D
 decodeURI( uri)     // inversa
 ...

Operadors[modifica el codi]

Operadors en prefix (unaris)[modifica el codi]

 delete propietat (elimina propietat)
 void  expr  (avalua expr. i descarta resultat, retorna undefined)
 typeof expr  (retorna tipus {"undefined", "boolean", "number", "string", "object", "function"}
 ++  (preincrement)    
 --  (predecrement)
 +
 -
 ~  (complement a 1)
 !  (negació)

Operadors en postfix (unaris)[modifica el codi]

 ++ (postincrement)
 -- (postdecrement)

Operadors en infix (binaris)[modifica el codi]

operadors multiplicatius

 *    producte
 /    quocient
 %    residu   (1,5% 1 == 0.5)

operadors additius

 +    (si un operand és String, concatena amb la conv. a String de l'altre)
 -

operadors de bits

 <<   (desplaçament a l'esquerra)       (0x80000000 << 1 == 0)
 >>   (desplaçament a la dreta, que manté el signe)
 >>>  (desplaçament sobre valor natural)
 &    (and)
 ^    (xor)
 |    (or)

operadors d'igualtat

 == !=  (igualtat convertint tipus si cal)               // "12" == 12    dóna  true 
 === !==  (igualtat estricta: sense conversió de tipus)  // "12" === 12   dóna  false

operadors relacionals

 < <= > >=
 instanceof  (objecte instanceof plantilla_de_classe)
 in    (propietat in objecte = objecte té la prop.)

operador condicional

 ?: (condició "?" expr_cas_de_cert ":" expr_cas_de_fals)  (true?1:0 == 1)

operadors d'assignació

 =
 *= /= %= += -= <<= >>= >>>= &= ^= |=
operador coma
 expressió_d'efectes_laterals "," expressió === resultat de la segona expressió
  var a = alert("alerta!"), 2   // a == 2

Biblioteques Javascript rellevants[modifica el codi]

Biblioteca informàtica[modifica el codi]

Gestió d'esdeveniments[modifica el codi]

Programació funcional[modifica el codi]

Programació reactiva funcional[modifica el codi]

Orientació a objectes[modifica el codi]

Relacionat[modifica el codi]

JSON
(acrònim de JavaScript Object Notation) Serialització d'objectes Javascript

Javascript als Navegadors[modifica el codi]

FirefoxdeMozilla
Internet Explorer
Google Chrome
Safari de l'Apple
Opera

Javascript com a rerefons de compiladors d'altres llenguatges[modifica el codi]

Elm (programació reactiva funcional)[modifica el codi]

Llenguatge per generar aplicacions gràfiques al navegador (GUI) amb sintaxi Haskell, compilable a JavaScript.

Antigament seguia un model de programació reactiva funcional, però l'han canviat a un model MVC (Model-Vista-Controlador) més pròxim al ReactJS.[15]

Java a Javascript[modifica el codi]

Una de les característiques del Google Web Toolkit[16] és la possibilitat de crear l'aplicació en Java i compilar-la a Javascript[17]

Haskell a Javascript[modifica el codi]

Scala a Javascript[modifica el codi]

OCaml a Javascript[modifica el codi]

Scheme a Javascript[modifica el codi]

Smalltalk a Javascript[modifica el codi]

Articles relacionats[modifica el codi]

Referències[modifica el codi]

  1. 1,0 1,1 1,2 Rauschmayer, Axel. «Chapter 4. How JavaScript Was Created». A: Speaking JavaScript: An In-Depth Guide for Programmers. Sebastopol, Califòrnia: O'Reilly, 2015. ISBN 9781449365035. 
  • 2,0 2,1 2,2 2,3 Pérez Castaño, 2014, p. 29.
  • Stefanov, Stoyan. JavaScript patterns. Sebastopol, CA: O'Reilly, 2010, p. 5. ISBN 9781449396947. «The core JavaScript programming language [...] is based on the ECMAScript standard, or ES for short.» 
  • 4,0 4,1 4,2 Pérez Castaño, 2014, p. 30.
  • Pérez Castaño, 2014, p. 31.
  • Pérez Castaño, 2014, p. 32.
  • Pérez Castaño, 2014, p. 34-35.
  • Scripting Layer for Android(anglès) Capa que permet utilitzar Javascript, Python, i altres llenguatges de guió
  • Mozilla - Rhino, motor de Javascript (anglès)
  • 10,0 10,1 10,2 Especificació ECMAScript - Objecte Date()(anglès)
  • Biblio Wu de prog. funcional(anglès)
  • Biblio Underscore de prog. funcional(anglès)
  • Biblio. Osteele de prog. funcional(anglès)
  • Flapjax
  • A farewell to FRP(anglès) Adéu a la FRP
  • Google Web Toolkit (pàgina inicial)(anglès)
  • Compilant Java a Javascript(anglès)
  • El llenguatge Fay(anglès)
  • Jmacro(anglès)
  • biblioteca Haskell de Javascript com a llenguatge incrustat (EDSL)(anglès)
  • ScalaJS(anglès)
  • OCamlJs (pàgina al viver de projectes Google code)(anglès)
  • OCamlJs - El compilador de OCaml a Javascript(anglès)
  • Scheme2Js(anglès)
  • CPSCM Scheme a Javascript(anglès)
  • ST2JS - Smalltalk a Javascript(anglès)
  • Bibliografia[modifica el codi]

    Estàndards ECMAScript, nom oficial de JavaScript[modifica el codi]

    Enllaços externs[modifica el codi]

    AWikimedia Commons hi ha contingut multimèdia relatiu a: JavaScript
    Guies
    Recursos

    Obtingut de «https://ca.wikipedia.org/w/index.php?title=JavaScript&oldid=23230482»

    Categoria: 
    JavaScript
    Categories ocultes: 
    Pàgines amb etiquetes de Wikidata sense traducció
    Pàgines amb enllaç commonscat des de Wikidata
    Control d'autoritats







    Menú de navegació


    Eines personals  



    Sense sessió iniciada
    Discussió per aquest IP
    Contribucions
    Crea un compte
    Inicia la sessió
     

    Espais de noms  



    Pàgina
    Discussió
     

    Variants  





    Vistes  



    Mostra
    Modifica el codi
    Mostra l'historial
     

    Més  





     






    Navegació  



    Portada
    Article a l'atzar
    Articles de qualitat
     

    Comunitat  



    Portal viquipedista
    Actes presencials
    Canvis recents
    La taverna
    Contacte
    Xat
    Donatius
    Ajuda
     

    Eines  



    Què hi enllaça
    Canvis relacionats
    Pàgines especials
    Enllaç permanent
    Informació de la pàgina
    Element a Wikidata
    Citau aquest article
     

    En altres idiomes  



    Afrikaans
    Ænglisc
    العربية
    مصرى
    Asturianu
    Azərbaycanca
    Žemaitėška
    Беларуская
    Беларуская (тарашкевіца)
    Български

     
    Mìng-dĕ̤ng-nḡ
    کوردی
    Čeština
    Чӑвашла
    Dansk
    Deutsch
    Ελληνικά
    English
    Esperanto
    Español
    Eesti
    Euskara
    فارسی
    Suomi
    Français
    Nordfriisk
    Galego
    /Hak-kâ-ngî
    עברית
    ि
    Hrvatski
    Magyar
    Հայերեն
    Interlingua
    Bahasa Indonesia
    Íslenska
    Italiano

    Jawa

    Taqbaylit
    Қазақша


    Кыргызча
    Lingua Franca Nova
    Lumbaart
    Lietuvių
    Latviešu
    Македонски

    Монгол

    Bahasa Melayu

    مازِرونی

    Nederlands
    Norsk bokmål
    Polski
    پنجابی
    Português
    Română
    Русский
    Саха тыла
    Scots
    Srpskohrvatski / српскохрватски

    Simple English
    Slovenčina
    Slovenščina
    Shqip
    Српски / srpski
    Sunda
    Svenska
    Kiswahili
    ி

    Tetun
    Тоҷикӣ

    Türkmençe
    Tagalog
    Türkçe
    Татарча/tatarça
    Українська
    اردو
    Oʻzbekcha/ўзбекча
    Vèneto
    Tiếng Vit



    Bân-lâm-gú


    Modifica els enllaços
     

    En altres projectes  



    Commons
     

    Imprimeix/exporta  



    Crear un llibre
    Baixa com a PDF
    Versió per a impressora
     



    La pàgina va ser modificada per darrera vegada el 18 abr 2020 a les 18:21.

    El text està disponible sota la Llicència de Creative Commons Reconeixement i Compartir-Igual; es poden aplicar termes addicionals. Vegeu les Condicions d'ús. Wikipedia® (Viquipèdia) és una marca registradadeWikimedia Foundation, Inc.
     


    Política de privadesa

    Quant al projecte Viquipèdia

    Renúncies

    Desenvolupadors

    Estadístiques

    Declaració de cookies

    Versió per a mòbils
     


    Wikimedia Foundation
    Powered by MediaWiki