

JS适用环境,变量与注释,函数创建与调用,if与switch,while和for,break和continue,常见事件,嵌入方法,验证空值,弹二级菜单,中英文字检测字符数
9.1 JS定义与适用环境
9.2 变量与注释
9.3 自定义的函数的创建与调用
9.4 if和switch条件语句,while和for循环语句,break和continue跳转语句
9.5 常见事件onclick,ondblclick,onload,onchange
9.6 把JS写到html中与单独文件中,验证浏览器对JS的支持
9.7 用JS验证空值,制作二级菜单,辨别中英文字符,检测字符个数
注:后面的语句都省略<script language="javascript">。。。</script>
9.1 了解JavaScript
1) JS是网景公司开发的基于对象和事件具有安全性能的解释性脚本语言,常用于制作网页特效,除php外,asp,jsp,asp.net站点都可用,且AJAX也是以JS为基础的。
2) 即可编写由浏览器执行的前端脚本,也可写由服务器端执行的脚本,如在服务器端处理用户提交的信息动态反回处理结果。
3) 主要应用有:由客户端浏览器运行,响应用户操作,表单检查(检测是否为空,数值类型区配否),动态菜单,浮动广告,打开新窗口,载入网页,对用户不同事件做不同响应,给图片,文字,鼠标加动画效果,制作小游戏
9.2 JavaScript语言基础,变量与注释
1) 变量声明与赋值
var i,j; //声明变量用var关键字,多个变量用逗号分隔,有时也可不声明直接赋值
var i=1;j=100; //JS声明变量同时也可以赋初值,注:赋了值的变量间要用分号隔开
2) JS的注释
单行用//,多行用/*...*/,同PHP的注释一样
9.3 自定义函数, 自定义的函数的创建与调用
1) 由用户自己写的用以实现特定功能的程序单元,注:自定义函数必须先声明
2)自定义函数语法:
function 函数名([参数,参数2,。。。]){
return var; //返回函数体或方法运算结果
}
3) 函数调用
函数名(参数1,参数2); //调用函数的方法
例1:
function calculate(a,b){ //声明自定义函数
return a*b;
}
docoment.write(calculate(15,15)); //调用函数输出结果 这是个方法
9.4 JavaScript流程控制语句,if和switch条件语句,while和for循环语句,break和continue跳转语句
1) 条件语句if和switch
a. if条件语句
function check(){
var year1=form1.year.value;
if((year1%4)==0&&(year1%100)!=0){
//如果year1能被4整除,但不能被100整除,则执行后面的
alert(year1+"年是闰年");
}
}
b. switch条件语句
function check(books) { //声明一个名为check的函数,它有books参数
switch(books){
case "生活类": //如果books的值是“生活类",则执行下面的
alert("你最喜欢的是"+books);
break;
case "电脑类":
alert("你最喜欢的是"+books);
break;
case "科技类":
alert("你最喜欢的是"+books);
break;
case "体育类":
alert("你最喜欢的是"+books);
break;
}
}
调用案例:
onclick="check(this.value);" //这里的调用了check函数,this.value表当前按钮的值
2) 循环语句 while和for循环语句 ,while首先判断值为真才执行下面的
a. while循环例子
var i=3;
while (i>0) {
document.write("-"+i); //先输出-,再输出i的值,+同PHP的.都是连字符
i--; //逐减,每次减1
}
b. for循环的例子:使用break中止,break默认中止当前循环
for (i=1;i<=9;i++) { //逐加,每次加1,for是先执行一次再判断
document.write(i+"*"+i+"="+i*i+"<br>"); //这里+是字串连接符
}
3) javascript跳转语句,break和continue语句 ,前者退出整个循环,后者只是退出本次循环
a. break例子:输出i<10的数
for (i=1;i<20;i++) {
if(i>10) {
break;
}
document.write(i+"-"); //这里+是字串连接符
}
b. continue例子:输出20以内的偶数
var str="20以内的偶数有:";
var i=1;
while(i<20) { //先判断再执行
if(i%2!=0) { //如余数不等0表不能被2整除,就给i加1并中止本次循环
i++;
continue;
}
str=str+i+" "; //否则就输出i,然给再给i加1
i++;
}
9.5 JavaScript事件,常见事件onclick,ondblclick,onload,onchange
1) JS是基于对象的语言,采用事件驱动。比如单击某链接,输出等都会触发相应的事件。
2) 常用的事件有:onclick单击//Ondblclick双击/Onload页面载入完成时/onchange某内容改变时
9.6 JavaScript脚本嵌入方式,把JS写到html中与单独文件中,验证浏览器对JS的支持
1) 在html中嵌入JS,加入如JS标记即可
<script language="javascript">.....</script>
例:
<script language="javascript">
alert("我很想学习PHP编程,请问如何才能学好这门语言!");
</script>
2) 把JS写到单独的文件中,在html中引用好可
语法:<script src=url language="JavaScript"></script>
//url指外部js文件路径,language="JavaScript"可省略
例:<script src=“script.js" "></script>
3) 解决浏览器不支持JS的问题
主要是设置浏览器的“Internet选项”了,包括:开启IE对本地JS的支持
4) 使用注释符号验证浏览器是否支持JS功能,例:
<script language="javascript">
<!-- //注:加注释符号的好处是当浏览器不支持JS,就把里面的内容解释为注释,不会显示出来影响布局
document.write("您的浏览器支持JS脚本!");
-->
</script>
方法二:
<noscript> //标记验证浏览器是否支持JS,不支持会把标记间的内容显示出来
您的浏览器支持JS脚本!
</noscript>
9.7 在PHP中调用JavaScript脚本,用JS验证空值,制作二级菜单,辨别中英文字符,检测字符个数
1) 用JS验证表单元素是否为空
function mycheck() { //声明验证表单用户名和密码是否为空的函数
if(myfrom.user.value=="")
{ alert("用户名称不能为空!!");myfrom.user.focus();return false;}
if(myform.pwd.value=="")
{alert("用户密码不能为空!!");myform.pwd.focus();return false;}
}
onClick="return mycheck();" //在按钮的onclick事件调用mycheck()函数
2) 用JS制作二级导航菜单
鼠标移动到一级菜单弹出二级菜单
function Lmenu(value) { //声明一个弹出二级菜单的函数lmenu()
switch (value){
case "新品": //当值为新品输出的子菜单
submenu.innerHTML="<a href='#'>新品子菜单1</a>|<a href='#'>新品子菜单2</a>|<a href='#'>新品子菜单3</a>";
break;
case "购物": //同上
submenu.innerHTML="<a href='#'>购物子菜单1</a>|<a href='#'>购物子菜单1</a>|<a href='#'>购物子菜单1</a>";
break;
case "会员": //同上
submenu.innerHTML="<a href='#'>会员子菜单1</a>|<a href='#'>会员子菜单2</a>|<a href='#'>会员子菜单3</a>";
break;
}
}
调用弹出子菜单的函数:OnMouseMove="Lmenu('新品')"
3) 用JS控制输入字符的长度
function checkname() { //声明检查用户名的函数
var name=form1.username.value; //声明变量并赋初值
if(name=="") { //如用户名为空
alert("用户名不能为空"); //提示用户名不能为空
form1.username.focus();
}
else{
if(checkstr(name,20)){ //再checkstr函数判断用户名的字节长度
alert("用户名长度不能超过20个字节,请重输!"); //如果超过20就提示超长
form1.username.focus();
}
}
}
function checkstr(str,digit) { //声明一个用以检查字符长度的自定义函数
var n=0; //声明一个变量n并赋初值0
for (i=0;i<str.length;i++) {
var leg=str.charCodeAt(i); //获取字符ASCII码值
if (leg>255) { //如果长度大于255
n+=2; //表为汉字按2字节算
}else{
n+=1; //否则为英文按1字节算
}
}
if (n>digit){ //如果总长大宇digit,就返回true
return true;
}else{ //否则反回false
return false;
}
}