JavaScript入门笔记JavaScript属于网络脚本语言。用来改进设计,验证表单,检测浏览器,创建cookies,以及更多的应用。它可以在任意的浏览器中运行。什么是JavaScript呢?JS被设计用来向HTML页面添加交互行为;JS是一种脚本语言;JS有数行计算机代码组成;JS通常直接嵌入HTML页面;注意:JavaScript与Java是完全不同的两种语言。JavaScript能做什么?为HTML设计师提供了一种编程工具,1、它可以把及其短小的片段代码插入到HTML页面之中。2、可以将动态文本放入HTML页面中:document.write(“h1”+name+/h1);3、JavaScript可以对事件作出响应。可以设置JS为当某件事发生时被触发。(例如页面载入完成时或者用户点击某一个HTML元素时。)4、JavaScript可以读写HTML元素。修改HTML元素属性;5、可以用来验证数据,在数据被提交到服务器之前,JS来验证这些数据的有效性。6、可以用来检测访问者的浏览器。可以检测到浏览器对象,并根据浏览器实例类型载入不同的页面。7、可以用来创建cookie,cookie用来存储和取回位于被访问者计算机中的信息。8、JS的正式名称是ECMAScript,是由ECMA组织发起和维护的。ECMA-262是JS标准。由Netscape的BrenddnEich发明,已成为ISO国际标准。JavaScript的语法1、如何实现JS1.1普通文本:写法scripttype=”text/javascript”document.write(“HelloWorld!”);/script把一段文本,甚至带有HTML标签的文本插入HTML页面,需要用script标签,同时用type属性定义脚本语言。JavaScript的注释行符号是“//”2JavaScript的放置当页面载入时,会执行位于body部分的JS;只有当特定函数调用时,才会执行Head部分的JS;当JS函数定义在Head部分时,能保证在调用函数之前已经载入了,注意,载入不一定执行。在Body中的JS,就直接把结果写入页面体了。当然,还可以把JS放在独立的脚本文件中以供调用:bodyscriptsrc=”/js/example.js”/script/body。Src是JS的相对路径。1)、放在HEAD部分的脚本,在事件触发时,或者脚本被调用时执行。放在HEAD中的脚本可以在执行前被载入;2)、位于body后边的脚本,当页面被载入时就会执行。把脚本放入body部分后,它就会生成页面内容。3)、你可以在同一个文档放置多个脚本,既可以放在body,也可以放在Head部分。4)、有时可能希望在若干个页面运行同一个JavaScript,同时不在每个页面重复书写。那样可以把JS独立为一个外部文件,然后以.js后缀保存文件。外部文件中的JS,不能包括script标签。然后通过.js文件指定给引用页面的script标签中的src属性即可。Headscriptsrc=”/common/common.js”/script/Head,可以把脚本文件统一放在同一个子目录中。3、JavaScript语句JS脚本,是由浏览器执行的语句序列。JavaScript语句,是发给浏览器的命令,告诉浏览器要做的事情。比如document.write(“HelloWorld”);就是告诉浏览器要输出HelloWorld语句。每一个JS语句以分号结束。浏览器也把一行末尾作为语句结尾。但是通过分号,可以在同一行中写多个JS语句。JavaScript代码块,可以用花括号组合起来,就像C语言的花括号一样。4、JS的注释可以添加注释来对JavaScript进行解释,提高其可读性。单行注释方法://多行注释方法:/*这是注释*/注释掉的语句,或者行末信息不会被执行。5、JS变量JS对变量名大小写敏感,变量命名必须以字母,或者下划线开始。声明(创建)变量:通过var语句进行变量定义。varVariableName=5;如果给变量赋值为字符串,那么需要用引号引起来。变量赋值:可以定义时赋值,也可以定义后赋值。VariableName2=“Thisisstring”;未声明变量:JS可以不声明而直接创建使用变量,像Python一样:variableName3=”Hello!”;重复声明:重复声明同名变量,变量的原来的值还会保留。A=12;varA;document.write(A);//输出还是126、JS的运算符算术运算符:+-*/%++--;赋值运算符:=+=-=*=/=%=字符串相加运算符:str=“str1”+“str2”相当于字符串连接;字符串与数字相加:字符串与数字相加,结果为一个字符串。条件运算符:==(值判断运算)===(全等运算符,值和类型完全相同的变量;比如a=8;a===“8”会返回false)!===布尔运算符:&&||!三目运算符:getting=(version==“PER”)?”Yes”:“No”7JS逻辑控制选择:ifelse结构,switch结构;switch(n)中,n可以是变量,也可以是表达式,表达式中的值会与case值比较,决定执行哪一个分支:switch(n){casex:break;default:}循环:for循环,将一段代码执行指定次数;while循环,只要条件为true,就执行循环;还有一种do…while循环,会首先无条件执行一次代码。例子:scripttype=text/javascriptfor(i=1;i=6;i++){document.write(h+i+这是标题+i)document.write(/h+i+)}/script语法:for(变量=开始值;变量=结束值;变量=变量+步进值){需执行的代码}while(变量=结束值){需执行的代码}do{需执行的代码}while(变量结束值)此外,break语句可以终止循环,continue语句可以跳出某一轮循环继续进行循环。JS还支持for…in循环,来遍历数组内的元素。for(变量in对象){执行代码,通常操作对象。}这里变量也可以指的是对象的属性。例子代码:scripttype=text/javascriptvarxvarmycars=newArray()mycars[0]=Saabmycars[1]=Volvomycars[2]=BMWfor(xinmycars){document.write(mycars[x]+br/)}/script注释:关于URI中的井号,hash在URL,“#”用于分隔开网址和网页内的一个位置定义的名称。在网址后加入“#xxx”,便可以跳到网页内aname=xxx的位置。8JS消息框JavaScript中有三种常用消息框,其实就是一些弹出对话框的函数:1)警告框:用于确保用户可以得到某些信息,通常用于告警:例如alert(“警告!内存不足!”);如果想要告警信息能够换行,那么在alert参数的字符串中,要换行的地方添加’\n’即可。实例程序:headscripttype=text/javascriptfunctiondisp_alert(){alert(再次向您问好!在这里,我们向您演示+'\n'+如何向警告框添加折行。)}/script/headbodyinputtype=buttononclick=disp_alert()value=显示警告框//body2)确认框:用于使用户可以验证或者接收某些信息。如果确认框出现,用户需要点击确定或者取消按钮,才能继续进行操作。如果点击“确定”,则返回值是true;如果点击“取消”,那么返回值是“false”;语法:confirm(“是否关闭程序?”);3)提示框:用于提示用户进入页面之前,输入某些值。当提示框出现后,用户需要输入某个值,然后点击“确定”或者“取消”才能继续操作。如果用户点击“确定”,那么返回值是用户输入的数据,如果点击“取消”,那么返回值为“null”。语法:prompt(“文本”,”默认值”);9JavaScript函数将脚本编写为函数,可以避免脚本被载入时的立即执行。函数只有被调用处才执行。可以在页面任何位置放置调用脚本函数,(如果函数嵌入外部JS文件,甚至可以从其他HTML文件调用这个JS文件中的函数);函数在页面起始位置,即HEAD部分定义。htmlheadscripttype=”text/javascript”functiondisplaymessage(){alert(“Hi!”);}/script/headbodyinputtype=”button”value=”ClickME”onclick=”displaymessage()”/body/html创建函数的语法:function函数名(var1,var2,…,varN){代码}编辑函数时注意,JS是大小写敏感的。JS的函数可以使用return语句返回值。例如:functionprod(a,b){returna*b;};在调用函数时,product=prod(2,3),变量product将存储值6。函数内部的变量,只有在函数内部有效。如果在函数外部声明变量,则整个页面上所有函数都可以访问这个变量。这些变量的生存期是页面关闭之前有效。10JavaScript事件事件,是可以被JS侦测到的行为。网页中每个元素都可以产生某些触发JavaScript的函数的事件。比如,可以在用户点击某按钮时产生一个onClick事件触发函数。事件在HTML页面中定义。事件可以是鼠标点击、页面或者图像载入、鼠标悬浮在某个热点上、表单中选取输入框、确认表单、键盘按键。事件通常与JS函数配合,当事件发生时函数才会执行。下面是JS支持的HTML标签事件手册:和onUnload事件;当用户进入页面,或者离开页面时,分别触发这两个事件。其中onload事件通常用来检测访问者的浏览器类型和版本,然后根据这些信息载入特定版本的页面。Onload和onUnload事件,也用于处理用户进入或者离开页面时,所建立的cookies。比如当用户第一次进入页面时,可以用消息框来询问用户姓名,保存在cookie中。当用户再次进入这个页面,之前的姓名信息可以保存。你可以输出“Welcomeback,John!”onFocus,onBlur和onChange事件,它们通常协作,来验证表单。当用户修改表单输入域内容,onChange事件就被触发了。比如:inputtype=textsize=30id=emailonchange=checkEmail()一旦修改内容,checkEmail函数将被触发。onSubmit事件,用于在提交表单之前,验证表单所有的域。如下例,当用户点击“确认”按钮时,checkForm()函数将被调用。若阈值无效,此次提交会被取消。CheckForm()函数返回true或者false。当返回值为true时,说明有效,且表单提交。formmethod=postaction=xxx.htmonsubmit=returncheckForm()onMouseOver和onMouseOut事件,用来创建“动态的”按钮。例子代码:ahref==“alert(‘AnonMouseOverevent’);returnfalse”imgsrc=”w3school.gifwidth=”100”height=”30”/a当超链接被鼠标移动到时,脚本被侦测并执行。弹出一个告警框。11、JS异常与错误处理(1)try…cac