JS 基础总结

Ⅰ、JavaScript的基本语法

一、JS脚本的基本结构和几个注意的要点

<HTML>

<HEAD>

<TITLE>脚本的基本结构</TITLE>

<SCRIPT language="javascript">

       var count=0;                    //变量的声明类型都用 var

       document.write("输出在页面,循环语句的应用");

       for(i=0;i<5;i++)                     // for 循环里的变量 i 不用定义类型

      document.write("<H2>大兴区正保培训学校</H2>");

</SCRIPT>

</HEAD>

<BODY>

<H1> BODY部分的内容</H1>

</BODY>

</HTML>

 

二、运算符号

算术运算符:   +- * / %++---(求反)

比较运算符:       ==!=>>=<<=

逻辑运算符:    &&||、!

 

三、逻辑控制语句

if条件语句

switch多分支语句

forwhile循环语句

 

四、类型转换

 parseIntString parseFloat String

 

五、函数

1、函数的创建:

function showHello(){

 var count=document.from1.txtCount.value ;  // 得到值 document.表单名.控件名.value

  for(i=0;i<count;i++)

{

 Document.write(“this is a  function !”);

}

}

 2 函数的调用

 可以在<body  onload = “showHello();”>

 也可以在控件中的 onclick = “showHello();”

 <INPUT type="submit" name="show" value="显示HelloWorld" onClick="showHello()">

 

Ⅱ、DOM编程——window对象

 

一、什么是DOM

      DOMDocument Object Model ,它是W3C国际组织的一套Web标准,它定义了访问HTML文档对象的一套属性、方法和事件

 

二、浏览器对象的分层结构

 

 

三、window对象常用的属性、方法和事件

1、  属性 status screen history location document

2、  方法 alert(“提示信息”) confirm(“提示信息”)  open(“url”,”name”)

             close ()  showModalDialog((“url”,”name”) setTimeout(“函数”,毫秒数)

3、  事件 onLoad 事件:在窗口或框架完成文档加载时触发

4、  使用

<SCRIPT language="javascript">

function openwindow( )

{  window.status="系统当前状态:您正在注册用户......";   //状态栏下显示的信息

   if (window.screen.width == 1024 && window.screen.height == 768)

       window.open("register.html"); 

 //     open("register.html", "注册窗口", "toolbars=0, location=0, statusbars=0, //menubars=0,width=700,height=550,scrollbars=1");

 

   else

       window.alert("请设置分辨率为1024x768,然后再打开");    }

function closewindow( )

{  if(window.confirm("您确认要退出系统吗?"))

       window.close( );   

}

</SCRIPT>

<INPUT type="button" name="regButton" value=" 用户注册 "   

              οnclick="openwindow( )">

<INPUT type="button" name="exitButton" value=" 退 " 

              οnclick="closewindow( )">

 

也可以用链接完成函数的调用

<H3><A href="javascript: openwindow( ) ">用户注册 </A></H3>

<H3><A href="javascript: closewindow( ) ">退 </A></H3>

 

四、Date 对象

 

<SCRIPT language="JavaScript">

function disptime( ){

 var time = new Date( );      //获得当前时间

 var hour = time.getHours( );  //获得小时、分钟、秒

 var minute = time.getMinutes( );

 var second = time.getSeconds( );

document.myform.myclock.value =hour+":"+minute+":"+second+" " ;

var myTime = setTimeout("disptime()",1000); //设置定时器每隔1(1000毫秒),调用函数//disptime( )执行

 

}

</SCRIPT>

<BODY onLoad="disptime( )">

<FORM NAME="myform">

H2>当前时间:

 <INPUT name="myclock" type="text"  value="" size="10" >

    </H2></FORM >

</BODY>

 

History对象

 1、方法:back()  加载history 列表的上一个URL

          forward() 加载history 列表的下一个URL

          go(“URL” or number)  加载 History 列表中的一个 URL,或要求浏览器移动指定的页面数。  go (1)代表前进1页,等价于forward( )方法;

go(-1) 代表后退1页,等价于back( )方法

 

location对象

1、属性

host设置或检索位置或 URL 的主机名和端口号

hostname:设置或检索位置或 URL 的主机名和端口号

href:设置或检索位置或 URL 的主机名和端口号

2、方法

assign("url")   加载 URL 指定的新的 HTML 文档。 

reload()   重新加载当前页

replace("url")        通过加载 URL 指定的文档来替换当前文档

 

Ⅲ、DOM编程-document对象

一、document对象的主要方法

 getElementByID( )      根据HTML元素指定的ID,获得唯一的一个HTML元素。如:访问DIV层对象、图片Img对象

getElementsByName( )  根据HTML元素指定的name,获得相同名称的一组元素。如:访问表单元素(全选功能)

 

二、制作一个浮动窗口

1、常见的页面坐标的介绍

top:指定元素的上边界位置。

pixelTop:设置或返回元素的上边界。

left:指定元素的左边界位置。

scrolltop:页面滚动的高度

2、方法

 // document.getElementById("advLayer").style  得到idadvLayer 的层的对象

 // document.getElementById("advLayer").style.pixelTop; 该层对象距上边界的距离

 // document.getElementById("closeLayer").style.display="none"; 隐藏该层

 // // document.getElementById("closeLayer").style.display="block/inline"; 显示该层

<SCRIPT language="javascript">

   var advInitTop=0;

   var closeInitTop=0;

function inix( ){

advInitTop=document.getElementById("advLayer").style.pixelTop;

closeInitTop=document.getElementById("closeLayer").style.pixelTop; }

function move( ){

   document.getElementById("advLayer").style.pixelTop=

   advInitTop+document.body.scrollTop   ;

   document.getElementById("closeLayer").style.pixelTop=

   closeInitTop+document.body.scrollTop   ;    }

function closeMe( ) {

    document.getElementById("closeLayer").style.display="none";

    document.getElementById("advLayer").style.display="none";    }

    window.οnscrοll=move ;  //窗口的滚动事件  调用move 函数

</SCRIPT>

 

三、制作实现全选效果

带参数的函数

<SCRIPT language="javascript">

function checkAll(boolValue ) {        //参数不用定义类型

   var allCheckBoxs=document.getElementsByName("isBuy") ;

   for (var i=0;i<allCheckBoxs.length ;i++)

      {

       if(allCheckBoxs[i].type=="checkbox")   // 判断 控件的类型是否是checkbox          

        allCheckBoxs[i].checked=boolValue ;     // boolValue 的值有 true false 两种

      }                                       }

</SCRIPT>

 

<A href="javascript: checkAll(true)">全选

<A href="javascript: checkAll(false)">全不选

 

Ⅳ、CSS样式特效

一、什么是CSS

 ( Cascading Style Sheet) 可翻译为 层叠样式表 或级联样式表,是一组格式设置规则,用于控制WEB页面的外观。通过CSS样式设置页面的格式。

二、定义样式

<STYLE type="text/css" >

.mouseOverStyle{

    background-image: url(images/back2.jpg);

    color:#CC0099;  

    border:0px;

    margin:0px;

    padding:0px;

    height:23px;width: 82px;

    font-size: 14px;        }

.mouseOutStyle{

     background-image: url(images/back1.jpg);

     color:#0000FF;   border:0px; margin:0px;

     padding:0px;height:23px; width:82px;

     font-size: 14px;      }

</STYLE>

上述内容可以单独定义在一个.css文件中 也可以在一个.html文件中

三、CSS的应用

很简单 在控件中使用属性 class = “样式名

 

Ⅴ、表单验证技术

 

一、表单验证的内容

 1、名字 不能为空,且只能包括字母、数字和下划线字符

 2、姓氏:不能为空且不能有数字

 3、登录名:不能为空且不能有数字

 4、密码:密码不能为空并且最少为6位,还要求两次输入的密码要一致

 5、邮箱:不能为空且包含字符@.

 6、日期:年月日不能为空,且不能超出其要求的范围

二、文本框对象的常用属性、方法、事件

属性         value   设置或获取文本框的值

方法         focus( )       获得焦点

             select( )      选中文本内容,突出显示输入区域

事件       onFocus  光标进入某个文本框脚本运行

           onBlur    文本框失去焦点脚本运行

           onKeyPress     当一个键按下并释放时去触发一个事件

三、验证举例

1、邮箱验证

<SCRIPT LANGUAGE = "JavaScript">

   function checkEmail( ) {  var strEmail=document.myform.txtEmail.value;

 if (strEmail.length==0)

    {   alert("电子邮件不能为空!");

         return false;       }

if (strEmail.indexOf("@",0)==-1|| strEmail.indexOf(".",0)==-1)

     {    alert("电子邮件格式不正确");

           return false;       }

          return true;       }

</SCRIPT>

<FORM name=myform action=“” onSubmit=return checkEmail( )>

<INPUT name="registerButton" type="submit" id="registerButton" value="注册"  >

2、密码验证

<SCRIPT language = "JavaScript">

function passCheck(){ //验证密码

var userpass = document.myform.txtPassword.value;

if(userpass == ""){

alert("未输入密码 /n" + "请输入密码");

document.myform.txtPassword.focus();

return false;   }

if(userpass.length < 6){

alert("密码必须多于或等于 6 个字符。/n");

return false;   }

return true;   }

</SCRIPT>

<FORM name=myform action=“” onSubmit=return passCheck ( )>

<INPUT name="registerButton" type="submit" id="registerButton" value="注册"  >

3、多个验证

例如邮箱和密码同时验证

<SCRIPT language = "JavaScript">

 ……

 function validateform(){  

        if(checkUserName()&&passCheck( ))

        return true;

 else

        return false;     }

</SCRIPT>

<FORM name="myform" onSubmit="return validateform( ) method="post" >

<INPUT name="registerButton" type="submit" id="registerButton" value="登录"  >

4、焦点问题

<SCRIPT LANGUAGE = "JavaScript">

  function clearText( ) {

         if (document.myform.txtEmail.value= =“请输入真实的电子邮箱,我们将

              发送激活密码") {

  document.myform.txtEmail.value="" ;     // 清空文本框

  document.myform.txtEmail.style.color="red";  // 修改文本框的颜色

if (strEmail.length==0)

{   alert("电子邮件不能为空!");

document.myform.txtUserName.focus( );    // 得到焦点

         return false;       }

if (strEmail.indexOf("@",0)==-1|| strEmail.indexOf(".",0)==-1)

     {    alert("电子邮件格式不正确");

document.myform.txtUserName.focus( );      // 得到焦点

 

           return false;       }

          return true;    }  

</SCRIPT>

<INPUT name="txtEmail" type="text" class="textBorder" id="txtEmail" value="请输入真实的电子邮箱,我们将发送激活密码" size="40" onFocus="clearText( )" style="color: #666666;">*必填

注:onFocus="clearText( )"  得到焦点时调用clearText( )方法

 

5、制作回车切换输入的效果

 注:检查输入是否是回车键-ASCII13,若是则将输入改为Tab键-ASCII9

  应用于多个文本框

<script language="javascript" type="text/javascript">

  function changeFocus( ){

      if (event.keyCode==13)

          event.keyCode=9;  }

</script>

<INPUT name="sname" type="text" class="borderBox" onKeyDown="changeFocus( )">

<INPUT name="spass" type="text" class="borderBox" onKeyDown="changeFocus( )">

<INPUT name="semail" type="text" class="borderBox" onKeyDown="changeFocus( )">

6、制作即时提示错误的特效

  注:添加文本框失去焦点的事件函数

function checkLogin( ){

  var myDiv=document.getElementById("loginError");

  myDiv.innerHTML="";             // div内容为空

  var strName=document.userfrm.loginName.value;

  if (strName.length == 0)

  {  myDiv.innerHTML="<font color='red'>用户名不能为空</font>";

     return;    // 默认是return false

  }   } 

<INPUT name="loginName" type="text"   onblur="checkLogin( )"><div id=” loginError”></div>         //失去焦点时触发checkLogin()方法

 

Ⅵ、脚本中数组的应用

一、用数组优化解决省市级联问题

<script language="javascript">

function changeprov(){

var citylist = new Array();

citylist["hb"]=["邯郸市","邢台市","石家庄市","衡水市","保定市","廊坊市","承德市","张家口市","保定市"];

citylist["bj"]=["海淀区","朝阳区","西城区","东城区","昌平区","丰台区","大兴区"];

citylist["sch"]=["成都","绵阳","泸州","宜春"];

citylist["shd"]=["济南","德州","日照","青岛","潍坊","聊城"];

var pindex = document.form1.province.value;        //取得province的值

var option1;

document.form1.city.options.length = 0;

for( var i in citylist[pindex]){

 option1 = new Option(citylist[pindex][i],citylist[pindex][i]);

 document.form1.city.options.add(option1);

  }

}

</script>

</head>

<body>

<form name="form1" >

<select name="province" οnchange="changeprov();"> //onChange选项/内容改变事件

 

<option>--选择所在省或直辖市--</option>

<option value="hb" >河北省</option>

<option value="bj">北京市</option>

<option value="sch">四川省</option>

<option value="shd">山东省</option>

</select> <br /><br />

<select name="city">

 <option>--选择所在市或地区--</option>

</select><br /><br />

</form>

</body>

</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值