Title | Manual de Java Script autor Miguel Ángel Álvarez y Manu Gutierrez |
---|---|
Course | Ingeniería en sistemas de información |
Institution | Universidad Tecnológica Nacional |
Pages | 125 |
File Size | 3.6 MB |
File Type | |
Total Downloads | 12 |
Total Views | 222 |
Libro relacionado a la programacion en javascript. Tocando diversos temas, diferencias entre java y javascript y siendo un contenido apto para principiantes personas que se estan iniciando en la programacion y en el diseño y desarrollo web...
Manual de JavaScript
http://desarrolloweb.com/manuales/manual-javascript.html
Página 1 de 125
Manual de JavaScript
Introducción:ManualdeJavaScript ManualdeJavascriptdesdecero.Adéntrateenellenguajedeprogramaciónmáspopulardelawebyconoce todaslascaracterísticasdelaprogramacióndelladodelcliente. Javascriptesellenguajedeprogramaciónusadoparalaspáginasweb,compatiblecontodoslosnavegadores yqueformaunestándardedesarrolloqueahoratambiénseextiendeadispositivosoprogramasde propósitogeneralmultiplataforma. EstemanualdeJavascriptestádivididoendosgrandespartes.Enlaprimeraparteveremoslas característicasfundamentalesdellenguaje,comosusintaxis,variables,estructurasdecontrol,funciones, arrays,etc.TodalainformaciónqueencontrarásenlaprimerapartetesirveparaprogramarJavascripta nivelgeneral,seadondeseaelentornodeejecucióndetusprogramas. Enlasegundaparte,quetambiénencontrarásenestamismapágina,ahondaremosenelusodeJavascripten elámbitodelnavegador,esdecir,aprenderemosamanejarlosrecursosquenosofreceelnavegadorpara hacerpáginasinteractivas,capacesdeinteractuarconelusuariodemaneraavanzada. Encuentrasestemanualonlineen: http://desarrolloweb.com/manuales/manual-javascript.html
http://desarrolloweb.com/manuales/manual-javascript.html
Página 2 de 125
Manual de JavaScript
Autoresdelmanual Lassiguientespersonashanparticipadocomoautoresescribiendoartículosdeestemanual.
MiguelAngelAlvarez MiguelesfundadordeDesarrolloWeb.comylaplataformadeformaciónonline EscuelaIT.Comenzóenelmundodeldesarrollowebenelaño1997, transformandosuhobbyensutrabajo.
ManuGutierrez
http://desarrolloweb.com/manuales/manual-javascript.html
Página 3 de 125
Manual de JavaScript
IntroduccionesaJavascript Artículosquenosserviránparaintroducirnosenestelenguaje,aprendiendolosconceptosmásbásicosde Javascriptylaprogramacióndelladodelcliente.
IntroducciónaJavascript VeamosquéesJavaScriptylasposibilidadesquenosofreceutilizarestelenguajealahorade desarrollarpáginasweb.Conocemosalgodesuhistoria. ConesteartículocomenzamoselManualdeJavascript,enelqueesperamosofrecerunpuntodepartida paralaspersonasquequierenintroducirseenelmundodelaprogramaciónwebdelladodelcliente. ElcursodeJavascriptquehemospreparadoenDesarrolloWeb.comestádivididoendospartes fundamentales.EnesteprimermanualpretendemosexplicarellenguajeJavascriptdemanerageneral, ofreciendoinformaciónsobrecómoincluirscriptsylidiarconloselementosmásbásicosdecualquier lenguajedeprogramación,comosonlasvariables,operadores,estructurasdecontrol,funciones,etc.La segundapartedelmanualladedicaremosaexplorartemasmásespecíficossobrecómoJavascriptnospuede ayudaraaplicardinamismoaunapáginaweb,atravésdelcontroldinámicodeelementosdelapáginayla interacciónconelusuario.
Nota:Portanto,enesteprimermanualencontraréisqueseofrecemuchamásinformaciónteórica típicasobrelenguajesdeprogramación.Seráesencialparasabercómodarlosprimerospasosenla programación,peroquizásresulteunpocomásaburridaquelasegundaparte,dondeaprenderemosa alterardinámicamentelapáginaweb,responderaaccionesdelusuario,etc. Nosotroshemosqueridoexplicarlascosascondetenimiento,paraqueaprenderJavascriptconeste manualestéalalcancedepersonasinclusosinconocimientosdeprogramación.Noobstante,en DesarrolloWeb.comexistendiversosmanualesmásbásicostodavíaparaaprenderaprogramar,como puedeserelcursodeprogramaciónenvídeo,omásespecíficosparalawebconelmanualdePáginas dinámicasolaintroducciónalaprogramación. Sinembargo,quizáspersonasmásexperimentadaspuedanpreferirpasardirectamentealasegundaparte deestemanual,dondeexplicaremoscosasmásprácticasyvolversobreartículospuntualesdeeste manualparautilizarloscomoreferenciaamedidaquevayannecesitandoconocerlasintaxisde determinadasestructurasdecontrol,operadoresdellenguaje,construccióndefunciones,etc.
EnesteartículopretendemosexplicarquéesJavascriptyparaquésirveestelenguaje,almenosenlíneas generales.Alolargodeésteylospróximosartículosexplicaremoslosconceptosnecesariosparaquelas personastenganunaideamásomenosclarasobreJavascript,lasposibilidadesdedellenguajeousosmás comunesylosmodosdetrabajoquepodemosemplearparadesarrollarnuestrospropiosscripts.
http://desarrolloweb.com/manuales/manual-javascript.html
Página 4 de 125
Manual de JavaScript
Nota:OtrorecursoquequeremosrecomendarparaaprenderJavascript,especialmenteindicadoparalas personasconmenosexperiencia,eselVideotutorialdeJavascript.Porsupuesto,tampoconosqueremos olvidardelosTalleresdeJavascript,asícomootrosmanualesmásespecíficosqueencontrarásenla secciónJavascriptafondo.
QuéesJavascript Javascriptesunlenguajedeprogramaciónutilizadoparacrearpequeñosprogramitasencargadosderealizar accionesdentrodelámbitodeunapáginaweb.ConJavascriptpodemoscrearefectosespecialesenlas páginasydefinirinteractividadesconelusuario.Elnavegadordelclienteeselencargadodeinterpretarlas instruccionesJavascriptyejecutarlaspararealizarestosefectoseinteractividades,demodoqueelmayor recurso,ytalvezelúnico,conquecuentaestelenguajeeselpropionavegador. Javascripteselsiguientepaso,despuésdelHTML,quepuededarunprogramadordelawebquedecida mejorarsuspáginasylapotenciadesusproyectos.Esunlenguajedeprogramaciónbastantesencilloy pensadoparahacerlascosasconrapidez,avecesconligereza.Inclusolaspersonasquenotenganuna experienciapreviaenlaprogramaciónpodránaprenderestelenguajeconfacilidadyutilizarloentodasu potenciaconsólounpocodepráctica. EntrelasaccionestípicasquesepuedenrealizarenJavascripttenemosdosvertientes.Porunladolos efectosespecialessobrepáginasweb,paracrearcontenidosdinámicosyelementosdelapáginaquetengan movimiento,cambiendecolorocualquierotrodinamismo.Porelotro,javascriptnospermiteejecutar instruccionescomorespuestaalasaccionesdelusuario,conloquepodemoscrearpáginasinteractivascon programascomocalculadoras,agendas,otablasdecálculo. Javascriptesunlenguajeconmuchasposibilidades,permitelaprogramacióndepequeñosscripts,pero tambiéndeprogramasmásgrandes,orientadosaobjetos,confunciones,estructurasdedatoscomplejas, etc.TodaestapotenciadeJavascriptseponeadisposicióndelprogramador,queseconvierteenel verdaderodueñoycontroladordecadacosaqueocurreenlapágina. Enestemanualvamosatratardeacercarnosaestelenguajeenprofundidadyconocertodossussecretosy métodosdetrabajo.Alfinaldelmanualseremoscapacesdecontrolarelflujoennuestrosprogramas Javascriptysabercómocolocarscriptspararesolverdistintasnecesidadesquepodamostener.Todoloque veremosacontinuaciónnosservirádebaseparaadentrarnosmásadelanteeneldesarrollodepáginas enriquecidasdelladodelcliente.
AlgodelahistoriadeJavascript EnInternetsehancreadomultituddeserviciospararealizarmuchostiposdecomunicaciones,como correo,charlas,búsquedasdeinformación,etc.Peroningunodeestosserviciossehadesarrolladotanto comoelWeb.Siestamosleyendoestaslíneasnovamosanecesitarningunaexplicacióndeloqueeselweb, perosipodemoshablarunpocosobrecómosehaidodesarrollandoconelpasodelosaños. ElWebesunsistemaHipertexto,unacantidaddedimensionesgigantesdetextosinterrelacionadospor mediodeenlaces.Cadaunadelasunidadesbásicasdondepodemosencontrarinformaciónsonlaspáginas web.Enunprincipio,paradiseñarestesistemadepáginasconenlacessepensóenunlenguajeque http://desarrolloweb.com/manuales/manual-javascript.html
Página 5 de 125
Manual de JavaScript
permitiesepresentarcadaunadeestasinformacionesjuntoconunospequeñosestilos,estelenguajefueel HTML. ConformefuecreciendoelWebysusdistintosusossefueroncomplicandolaspáginasylasaccionesquese queríanrealizaratravésdeellas.AlpocotiempoquedópatentequeHTMLnoerasuficientepararealizar todaslasaccionesquesepuedenllegaranecesitarenunapáginaweb.Enotraspalabras,HTMLsehabía quedadocortoyaquesólosirveparapresentareltextoenunpágina,definirsuestiloypocomás. Alcomplicarselossitiosweb,unadelasprimerasnecesidadesfuequelaspáginasrespondiesenaalgunas accionesdelusuario,paradesarrollarpequeñasfuncionalidadesmásalládelospropiosenlaces.Elprimer ayudanteparacubrirlasnecesidadesqueestabansurgiendofueJava,queesunlenguajedepropósito general,peroquehabíacreadounamaneradeincrustarprogramasenpáginasweb.Atravésdelatecnología delosApplets,sepodíacrearpequeñosprogramasqueseejecutabanenelnavegadordentrodelaspropias páginasweb,peroqueteníanposibilidadessimilaresalosprogramasdepropósitogeneral.Laprogramación deAppletsfueungranavanceyNetscape,poraquelentonceselnavegadormáspopular,habíarotola primerabarreradelHTMLalhacerposiblelaprogramacióndentrodelaspáginasweb.Nocabedudaquela aparicióndelosAppletssupusoungranavanceenlahistoriadelweb,peronohasidounatecnología definitivaymuchasotrashanseguidoimplementandoelcaminoquecomenzóconellos. LlegaJavascript
Netscape,despuésdehacersusnavegadorescompatiblesconlosapplets,comenzóadesarrollarunlenguaje deprogramaciónalquellamóLiveScriptquepermitiesecrearpequeñosprogramasenlaspáginasyque fuesemuchomássencillodeutilizarqueJava.DemodoqueelprimerJavascriptsellamoLiveScript,pero nodurómuchoesenombre,puesantesdelanzarlaprimeraversióndelproductoseforjóunaalianzacon SunMicrosystems,creadordeJava,paradesarrollarenconjuntoesenuevolenguaje. LaalianzahizoqueJavascriptsediseñaracomounhermanopequeñodeJava,solamenteútildentrodelas páginaswebymuchomásfácildeutilizar,demodoquecualquierpersona,sinconocimientosde programaciónpudieseadentraseenellenguajeyutilizarloasusanchas.Además,paraprogramarJavascript noesnecesariounkitdedesarrollo,nicompilarlosscripts,nirealizarlosenficherosexternosalcódigo HTML,comoocurríaconlosapplets. Netscape2.0fueelprimernavegadorqueentendíaJavascriptysuestelafueseguidaporotrosclientesweb comoInternetExplorerapartirdelaversión3.0.Sinembargo,lacompañíaMicrosoftnombróaeste lenguajecomoJScriptyteníaligerasdiferenciasconrespectoaJavascript,algunasdelascualesperduran hastaeldíadehoy. Diferenciasentredistintosnavegadores
ComohemosdichoelJavascriptdeNetscapeyeldeMicrosoftInternetExplorerteníaligerasdiferencias, peroesquetambiénelpropiolenguajefueevolucionandoamedidaquelosnavegadorespresentabansus distintasversionesyamedidaquelaspáginaswebsehacíanmásdinámicasymásexigenteslasnecesidades defuncionalidades. LasdiferenciasdefuncionamientodeJavascripthanmarcadolashistoriadellenguajeyelmodoenelque losdesarrolladoresserelacionanconél,debidoaqueestabanobligadosacrearcódigoquefuncionase correctamenteendiferentesplataformasydiferentesversionesdelasmismas.Adíadehoy,siguenhabiendo http://desarrolloweb.com/manuales/manual-javascript.html
Página 6 de 125
Manual de JavaScript
muchasdiferenciasyparasolucionarlohansurgidomuchosproductoscomolosFrameworksJavascript, queayudanarealizarfuncionalidadesavanzadasdeDHTMLsintenerquepreocuparseenhacerversiones distintasdelosscripts,paracadaunodelosnavegadoresposiblesdelmercado. AcontinuaciónseguiremosaprendiendocuriosidadesdellenguajeyaclararemosqueJavayJavascriptson doscosasdistintas,enelartículosobrelasdiferenciasdeJavayJavascript.
EsteartículoesobradeMiguelAngelAlvarez Fuepublicadoporprimeravezen16/07/2001 Disponibleonlineenhttp://desarrolloweb.com/articulos/introduccion-javascript.html
DiferenciasentreJavayJavascript JavayJavascriptsondosproductosdistintos.Ponemosdemanifiestoladiferenciaentreestosdos lenguajesconunnombresimilar. EstamoscontandodiversosasuntosinteresantesycuriosidadesquesirvendeintroducciónparaelManual deJavascriptyqueremostratarunadelasmástípicasasociacionesquesesehacenaloirhablarde Javascript.Nosreferimosarelacionarloconotrolenguajedeprogramación,llamadoJava,quenotiene muchoquever.RealmenteJavascriptsellamóasíporqueNetscape,queestabaaliadoaloscreadoresde Javaenlaépoca,quisoaprovecharelconocimientoylapercepciónquelaspersonasteníandelpopular lenguaje.Contodo,secreóunproductoqueteníaciertassimilitudes,comolasintaxisdellenguajeoel nombre.Sehizoentenderqueeraunhermanopequeñoyorientadoespecíficamenteparahacercosasenlas páginasweb,perotambiénsehizocaeramuchaspersonasenelerrordepensarquesonlomismo. QueremosquequedeclaroqueJavascriptnotienenadaqueverconJava,salvoensusorígenes,como sehapodidoleerhaceunaslíneas.Actualmentesonproductostotalmentedistintosynoguardanentresi másrelaciónquelasintaxisidénticaypocomás.Algunasdiferenciasentreestosdoslenguajessonlas siguientes: Compilador.ParaprogramarenJavanecesitamosunKitdedesarrolloyuncompilador.Sin embargo,Javascriptnoesunlenguajequenecesitequesusprogramassecompilen,sinoqueéstos seinterpretanporpartedelnavegadorcuandoésteleelapágina. Orientadoaobjetos.Javaesunlenguajedeprogramaciónorientadoaobjetos.(Mástardeveremos quequieredecirorientadoaobjetos,paraelquenolosepatodavía)Javascriptnoesorientadoa objetos,estoquieredecirquepodremosprogramarsinnecesidaddecrearclases,talcomoserealiza enloslenguajesdeprogramaciónestructuradacomoCoPascal. Propósito.JavaesmuchomáspotentequeJavascript,estoesdebidoaqueJavaesunlenguajede propósitogeneral,conelquesepuedenhaceraplicacionesdelomásvariado,sinembargo,con Javascriptsólopodemosescribirprogramasparaqueseejecutenenpáginasweb. Estructurasfuertes.Javaesunlenguajedeprogramaciónfuertementetipado,estoquieredecirque aldeclararunavariabletendremosqueindicarsutipoynopodrácambiardeuntipoaotro automáticamente.PorsuparteJavascriptnotieneestacaracterística,ypodemosmeterenuna variablelainformaciónquedeseemos,independientementedeltipodeésta.Además,podremos cambiareltipodeinformacióndeunavariblecuandoqueramos. Otrascaracterísticas.ComovemosJavaesmuchomáscomplejo,aunquetambiénmáspotente, http://desarrolloweb.com/manuales/manual-javascript.html
Página 7 de 125
Manual de JavaScript
robustoyseguro.TienemásfuncionalidadesqueJavascriptylasdiferenciasquelosseparansonlo suficientementeimportantescomoparadistinguirlosfácilmente.
EsteartículoesobradeMiguelAngelAlvarez Fuepublicadoporprimeravezen16/07/2001 Disponibleonlineenhttp://desarrolloweb.com/articulos/20.php
Antesdeempezar MostramosejemplosdepáginasqueempleanJavaScriptensudesarrolloycomentamoslas aplicacionesnecesariasparaempezaraprogramar. HayvariospuntosquequeremoscomentarcomointroducciónenelManualdeJavascriptyquepodrás quererconocerantesdecomenzaraprogramar.Primeroseríabuenohacernosunaideamásconcretadelas posiblesaplicacionesquepodríatenerellenguajeyquesepuedenencontrareninnumerablessitiosweb. Ademástambiénqueremoscomentarlasherramientasyconocimientospreviosquenecesitamospara ponernosmanosalaobra.
UsosdeJavascript QuizásadíadehoysobradecirparaquésirveJavascript,peroveamosbrevementealgunosusosdeeste lenguajequepodemosencontrarenelwebparahacernosunaideadelasposibilidadesquetiene. Sinirmáslejos,DesarrolloWeb.comutilizaJavascriptparaelmenúsuperior,quemuestradiferentesenlaces dentrodecadaopciónprincipal.Vamoscambiandolapáginacadaciertotiempo,peroeneldiseñoactualde estesitioweb,elementoscomoelrecuadrode"Login"tambiéntienensudinamismoconJavascript. ActualmentecasitodaslaspáginasunpocoavanzadasutilizanJavascript,puessehavueltounadelas insigniasdeloquesedenominalaWeb2.0ylaexperienciaenriquecidadeusuario.Porejemplo,webstan popularescomoFacebook,TwitteroYoutubeusanJavascriptaraudales.Parasermásconcretos,cuando enlaredsocialapretamosunenlaceparacomentaralgo,semuestraenlapáginaunpequeñoformularioque aparececomoporartedemagiayluegoseenvíasinsalirsedelapropiapágina.Tambiéncuandovotamos porunvídeoenYoutubeocuandosecuentanloscaracteresquellevamosescritosenlosmini-postde Twitter,seutilizaJavascriptpararealizarpequeñasfuncionalidadesquenoesposiblerealizarconHTML sólo.EnrealidadsepuedenverejemplosdeJavascriptdentrodecualquierpáginaunpococompleja. Algunosquehabremosvistoeninnumerablesocasionessoncalendariosdinámicosparaseleccionarfechas, calculadorasoconvertidoresdedivisas,editoresdetextoenriquecido,navegadoresdinámicos,etc. EsmuchomáshabitualencontrarJavascriptpararealizarefectossimplessobrepáginasweb,onotan simples,comopuedensernavegadoresdinámicos,aperturadeventanassecundarias,validaciónde formularios,etc.Nosatrevemosadecirqueestelenguajeesrealmenteútilparaestoscasos,puesestos típicosefectostienenlacomplejidadjustaparaserimplementadosencuestióndeminutossinposibilidadde errores.Sinembargo,apartedeesosunossimplesejemplos,podemosencontrardentrodeInternetmuchas aplicacionesquebasanpartedesufuncionamientoenJavascript,quehacenqueunapáginawebse conviertaenunverdaderoprogramainteractivodegestióndecualquierrecurso.Ejemplosclarossonlas aplicacionesdeofimaticaonline,comoGoogleDocs,OfficeOnlineoGoogleCalendar. http://desarrolloweb.com/manuales/manual-javascript.html
Página 8 de 125
Manual de JavaScript
QuénecesitasparatrabajarconJavascript ParaprogramarenJavascriptnecesitamosbásicamentelomismoqueparadesarrollarpáginaswebcon HTML.UneditordetextosyunnavegadorcompatibleconJavascript.Cualquierordenadormínimamente actualposeedesalidatodolonecesarioparapoderprogramarenJavascrip.Porejemplo,unusuariode Windowsdisponedentrodesuinstalacióntípicadesistemaoperativo,deuneditordetextos,elBlocde notas,ydeunnavegador:InternetExplorer.
Nota:UsuariosquedeseenherramientasmásavanzadaspuedenencontrarenInternetfácilmente programassimilaresenlaseccióndeprogramasparadesarrolladores.
Permitidmeunarecomendaciónconrespectoaleditordetextos.Setratadeque,aunqueelBlocdeNotases suficienteparaempezar,talvezseamuyútilcontarconotrosprogramasquenosofrecenmejores prestacionesalahoradeescribirlaslíneasdecódigo.Estoseditoresavanzadostienenalgunasventajas comoquecoloreanloscódigosdenuestrosscripts,nospermitentrabajarconvariosdocumentos simultáneamente,tienenayudas,etc.EntreotrosqueremosdestacarKomodoEdit,Notepad++o UltraEdit.
Conocimientospreviosrecomendables Lociertoesquenohacefal...