用户名:  密码:   
您当前的位置:首页 > 网页设计 >  PHP > 

第9讲 JS适用环境,变量与注释,函数创建与调用,if与switch,while和for,break和continue,常见事件,嵌入方法,验证空值,弹二级菜单,中英文字检测字符数

上次修改时间: 2016-01-25 09:37:13      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\PHP相关\      下一页

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;
 }
}