ccJavaScript语法cc数据类型typeof方法用于判断表达式的数据类型,返回值为一个表式类型的字符串。typeof(83)//返回字符串”number”typeof(“这是方法”)//返回字符串”string”typeof(true)//返回字符串”boolean”NaN的意义NaN意为”NotaNumber”,即表示“非数值”。null与undefinednull代表“已被定义的空值”undefined代表“未定义值”(null和undefined为两种意义不同数据类型,但在逻辑判断中两者是相等的)数值同字符的运算:“200”+100值为字符串”200100”转义字符由于一些字符在JavaScript语法上已经有了特殊用途,因此在需要显示或运用这些字符时,就必须使用“转义字符”。转义字符用斜杠“\”开头:\’单引号\”双引号\n换行符\r回车\\斜杠求余运算:x%y值为x除以y的余数函数函数的定义function函数名(传递变量){函数体return;或return表达式;}return:格式return表达式;1、return只能在函数当中使用,return可以让函数返回一个值2、但每个函数只能返回一个值。3、且必然会返回一个值,因为如果在函数中没有return语句,那么javascript隐含地在函数末尾添加一条返回undefined值的return语句。使用函数时的写法:格式:函数名()1、小括号是JavaScript区分函数与普通变量的标志。2、函数后有无大括号是JavaScript区分函数定义与函数调用的标志。3、遵循先定义后调用的原则。(可以使用typeof来确定函数是否已定义)函数的递归与嵌套:递归就是指在一个函数中调用另一个函数嵌套是指在一个函数中定义一个“内部函数”,就像函数的局部变量一样,它只在其“父级函数”内部有效,在其“父级函数”外部是无法访问这个“内部函数”的,这是javaScript独有的“封装”方式。数据类型转换String()String()将其它类型的数据转换为字符型。Number()Number()将其它类型的数据转换为数值型,如:Number(true)值为1Boolean()Boolean()将其它类型的数据转换为布尔型,如:除0、NaN、null、undefined“(空字符)被转换为false以外,其它值都被转换为true。字符型数值转换为数字parseInt()方法将字符串转换为整数,方法为从左到右开始读取字符串中的字符,直至遇到非数字符为至,将取出的部分转换为整数。(如首字符为非数字,则返回NaN)parseFloat()方法将字符串转换为浮点数,方法为从左到右开始读取字符串中的字符,直至遇到非数字符为至,将取出的部分转换为整数。(如首字符为非数字,则返回NaN)提示框alert(“提示信息”)用于弹出提示信息,无返回值。confirm(“提示信息”)用于弹出一个确认窗口,“确认”返回true,“取消”返回falseprompt(“提示信息”,文本框初值)用于弹出一个输入窗口,并以字串型式返回其值。常见对象opener对象JS中的opener对象是相对于一个被打开的新窗口而言的,指上一级“父”窗口的windows.document对象opener.inputform.img.value=”image/img.jpg”;该命令就是指在当前窗口更改“父页面”的inputform表单中的img文本框的值为”image/img.jpg”每个窗口都是一个window对象msg=open(“”,”DisplayWindow”,”toolbar=no,directories=no,menubar=no”);msg.document.write(“HEADTITLE哈罗!/TITLE/HEAD”);msg.document.write(“H1酷毙了!/H1h2这是BJavaScript/B所开的视窗!/h2”);JS中的主要对象浏览器与Html元素是JS中的主要对象我们要记住一点,Javascript中的主要对象都是Html页面和浏览器中的元素(除了数学、日期、字串等对象),而这些对象的属性也是其本身所具备的,JS唯一拥有的就是动态改变他们的能力。JS的对象与属性标准格式:[类.HTML对象.属性]其中,类、HTML对象、该对象的属性都是其本来就有的。如:imgscr=”image01.jpg”width=”100”height=”300”onClick=”fuck();”id=”pic”当这条Html代码成为JS对象时,它就具备了pic.scr、pic.width、pic.height、pic.onClick、pic.id等5个已定属性(不知其中的pic.onClick与pic.id属性能否被动态改变?)withwith(对象){无须指定对象就可使用属性和方法}数组:var数组名=newArray();var数组名=newArray(n);var数组名=newArray(值1,值2,值3,值4);常用方法关于SetTimeoutJS中的SetTimeout时间函数是window对象的方法,所以正确的书写格式应该如下例,而不是直接调用方法而不定义对象。其作用为在一定时间后执行指定命令一次。//window.setTimeout(“HOME()”,500);执行字符串型式的JS指令:eval()用于执行一段字符串形式的Javascript命令,如:eval(“k=0;for(i=i;i101;i++){k+=1;}”);又如:rc=eval(“(9+5)*2”);则rc的值为28逻辑判断True与false在所有的条件分支与循环条件的逻辑判断语句中:空值、0、null、undefined均被视为false而1与所有非0值或空值表达式均可被视为trueTrue==1成立false==0成立数值与字串型数值的比较在JavaScript中,“字串型数值”与其“同值的数值”在逻辑判断中是相等的,即:“200”==200为true逻辑运算符&&与||或!否关系运算符X==Y比较x与y是否相等,相等为trueX!=Y比较x与y是否不相等,不相等为trueX===Y比较x与y的值与类型是否完全相同X!==Y比较x与y的值与类型是否存在不同判断返回运算x?a:b如果x为ture,则返回a值,否则返回b值。例如:ii=1300;(ii1200)?20:5;返回20条件分支与循环if...elseif条件判断if(循环条件1){代码段1}elseif(循环条件2){代码段2}Switch单值判断:Switch相当于VBScript中的“DoCase”命令,以一个表达式的值作为执行其中某段代码段的条件。格式如下:Switch(表达式){case值1代码break;case值2代码break;}while循环while(循环条件){循环体}dowhile循环do{循环体}while(循环条件)for循环for(初值定义;循环条件;每次循环修改值){循环体}forin循环:将对象的所有属性分别在每次循环中赋值给同一个变量for(变量in对象){循环体}Break与continuebreak终止循环continue直接进入下一次循环经验之谈给图片加JS事件ahref=”#”imgsrc=’fdsf/fds.jpg’width=200onclick=”fs()”/a最重要的是要给图片加上一个空链接,然后在img标签中添加js事件。(切记是在img中而不是a)提交表单时阻止页面刷新JS中用returnfalse来阻止页面刷新formonSubmit=”returnfalse;”/form空锚点#与javascript:void(0)的区别#包含了一个位置信息,默认的锚点是#top也就是网页的上端。而javascript:void(0)仅仅表示一个死链接,也就是说链接#会使页面跳到顶部位置,而javascript:void(0)则不会使页面位置有任何变动。显示和隐藏一个表格document.getElementById(table1).style.display='none';隐藏document.getElementById(table1).style.display='block';显示示例:ttt.style.display=(ttt.style.display=='none')?(block):(none);如果已隐藏则显示,如果已显示则隐藏。确定及验证提交示例例一:functionCheckForm(){if(confirm('确定修改并提交?')){form1.action=intro_submit.aspreturnfalse;}else{returntrue;}}formid=form1name=form1method=postaction=onsubmit=CheckForm();例二:scriptlanguage=javascript!--functionCheckForm(){if(document.form.name.value.length==0){alert(请输入您姓名!);document.form.name.focus();returnfalse;}returntrue;}--/scriptinnerHTML,outerHTML,innerText,outerTextinnerHTML获取标签内的HTMLouterHTML获取标签及标签内的HTMLinnerTEXT和outerTEXT都是获取标签内的文本,相同。使用outerText会连带标签一起替换成目标文本,层也替换掉了这次我们要使用另一些对象属性对来实现动态改变文本,它们就是:innerText,outerText,innerHTML,outerHTML,千万要注意它们的大小写,因为错一点您就得不到预期的效果了。这是全新的方法,当您掌握它以后将可随心所欲的设计动态内容了,不可错过哦!例12动态改变文本和HtmlhtmlheadtitleDHtml举例12/titlestyle!--body{font-family:宋体;color=blue;font-size=9pt}--/stylescriptlanguage=JavaScriptfunctionchangeText(){DT.innerText=我很好!;}//functionfunctionchangeHtml(){DH.innerHTML=iu我姓肖!/u/i;}//functionfunctionback(){DT.innerText=您好吗?;DH.innerHTML=您姓什么?;}/script/headbodypfontcolor=gray请点击下边的文字……/fontulliid=DTonclick=changeText()您好吗?/liliid=DHonclick=changeHtml()您姓什么?/lilionclick=back()恢复原样!/li/ul/body/htmlinnerText属性用来定义对象所要输出的文本,在本例中innerText把对象DT中的文本“您好吗?”变成了“我很好!”(语句DT.innerText=我很好!)。而对对象DH的改变用了innerHTML属性,它除了有innerText的作用外,还可改变对象DH内部的HTML语句,于是它把文本变成了“我姓肖!”,而且文本输出改成了斜体(i/i)并下加一条直线(u/u),即语句DH.innerHTML=iu我姓肖!/u/i。outerText和outerHTML也具有类似的作用,读者不妨自己试试看。下面我们来设计一个有趣的动态页面