J2EE复习(三)JavaScript-基础+实战

J2EE复习(三)JavaScript(上)--基础篇

<!--正文-->
<!--判断阅读权限--><!--判断是否已经扣点-->

开篇的话

  就我个人在学习和使用JavaScript过程中,感觉该语言逻辑很混乱,有时会出现莫名其妙的错误,并且没有很好的开发工具,调试起来很是费神费时,然而在web开发中JavaScript充当着很重要的角色,令我很是苦恼,希望可以通过长期的学习和编码积累经验从而得到进步。

  JavaScript简介

  JavaScript是一种基于对象的脚本语言,用于开发基于客户端和基于服务器的Internet应用程序

  可用于创建客户端脚本和服务器端脚本

  由Sun Microsystems 和 Netscape 开发,是从 Netscapes 的 Livescript 发展而来的

  JavaScript数据类型

  数字型 (Number)                    整数或实数

  逻辑型或布尔型 (boolean)      true或false

  字符串型(String) 如“Hello World”,“123.4”

  空型 (null)  表示空值的特殊关键字

  算术运算符

  加+   减-  乘*  除/   取余% 一元递增++ 一元递减--

  比较运算符

  等于:==  全等:===  不等:!=   大于:>  大于等于:>=  小于:<  小于等于:<=

  PS:全等=== 比较的是数据类型和值,只有两个都相等时才返回true。

  逻辑运算符

  逻辑与:&&   逻辑或:||    逻辑非:!

  PS:JavaScript中没有&逻辑运算符

  求值运算符

  条件运算符:(condition) ? trueVal : falseVal ;例子:status = (age >= 18) ? "adult" : "minor"

  typeof运算符:typeof 运算符返回字符串,该字符串代表操作数的类型;

  JavaScript数组

  有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。

var mycars=new Array()
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"

  也可以使用一个整数自变量来控制数组的容量:

var mycars=new Array(3)
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"

  还有一种定义方式

var mycars=new Array("Saab","Volvo","BMW")

  在访问数组是同java一样的,mycars[0],下标也是从0开始。

  数组方法和属性

  使用concat() 方法来合并两个数组。

  使用join() 方法将数组的所有元素组成一个字符串。

  使用sort() 方法从字面上或数值上对数组进行排序。

  JavaScript数组有length属性

  JavaScript多维数组

MyArray = new Array(5,5);
MyArray[0, 0] = "Ryan Dias";
MyArray[0, 1] = 1;
MyArray[1, 0] = "Mike Donne";
MyArray[1, 1] = 2;

  JavaScript try...catch throw使用
 <html>
<body>
<script type="text/javascript">
var x=prompt("Enter a number between 0 and 10:","")
try
{
if(x>10)
throw "Err1"
else if(x<0)
throw "Err2"
}
catch(er)
{
if(er=="Err1")
alert("Error! The value is too high")
if(er == "Err2")
alert("Error! The value is too low")
}
</script>
</body>

 </html>如果 x 的值大于 10 或者小于 0,错误就会被抛出 (throw)。这个错误被 catch 的参数捕获后,就会显示出自定义的出错信息。

  JavaScript   for...in语句使用

  for … in语句用于在对象的各个属性,或数组的各个元素之间循环

<HTML>
  <BODY>
     <SCRIPT LANGUAGE = "JavaScript">
       color = new Array("红色","蓝色","绿色");   
       for (var prop in color){
         var record = "color " ;
         record+=prop+"="+color[prop] + "<BR>";
         document.write(record);
       }
    </SCRIPT>
  </BODY>
</HTML>

  JavaScript   new语句使用

  new操作符用于新建对象类型实例。

<HTML>
    <BODY>
        <SCRIPT LANGUAGE="JavaScript">
        function employee(name, code, designation) {
            this.name = name
            this.code = code
            this.designation = designation
        }
        newemp = new employee("John Dias", "A001", "职员");
        document.write("雇员姓名:" + newemp.name + "<BR>");
        document.write("雇员代号:" + newemp.code + "<BR>");
        document.write("头衔:" + newemp.designation);
        </SCRIPT>
    </BODY>
</HTML>


  JavaScript  with语句使用

  with语句用于执行一组语句,所有这些语句都假定引用指定的对象。

<HTML>
    <BODY>
        <SCRIPT LANGUAGE ="JavaScript">
             var a, b, c;
            var r=10;
        with (Math)  {
              a = PI * r * r;
              b = r * cos(PI);
              c = r * sin(PI/2);
           }
           document.write (a +"<BR>");
           document.write (b +"<BR>");
           document.write (c +"<BR>");
        </SCRIPT>
    </BODY>
</HTML>

----------------- 

 

J2EE复习(三)JavaScript(下)--实战应用

 

本人在学习和做项目中常用的js函数汇总.

  一、用js做的表格动态增删查改

  工具JavaScript:util.js

 1
 2//全选反选
 3function checkAll(boxName) {
 4    var checkBox = document.getElementsByName(boxName);
 5    for (i = 0; i < checkBox.length; i++) {
 6        var checked = checkBox[i].checked;
 7        if (checked) {
 8            checkBox[i].checked = false;
 9        } else {
10            checkBox[i].checked = true;
11        }
12    }
13}


14//多选验证
15function multiCheck(idArray)
16{
17    //var idArray = document.getElementsByName(boxName);
18    var count = 0;
19    for(i=0;i<idArray.length;i++)
20    {
21        if(idArray[i].checked)
22        {
23            count++;
24        }
25    }
26    return count;
27}
28
29


30//回车切换焦点
31function toNext(next)
32{
33      if(event.keyCode==13)
34      {
35          next.focus();
36      }
37}
38


39//打开右键菜单
40function openShortCutMenu(oRow)
41{
42  // 选中当前行
43  SelectRow(oRow);
44  aOpenPopMenu("ShortCutMenu");
45  event.cancelBubble = true;
46  event.returnValue = false;
47}


48//关闭右键菜单
49function CloseShortCutMenu(){
50       aClosePopMenu("ShortCutMenu");
51}


52//显示右键菜单
53function aOpenPopMenu(MenuId){
54    if (document.all(MenuId)){
55        document.all(MenuId).style.left = event.clientX + document.body.scrollLeft;
56          document.all(MenuId).style.top = event.clientY + document.body.scrollTop;
57          document.all(MenuId).style.display = "";
58    }
59}


60//隐藏右键菜单
61function aClosePopMenu(MenuId){
62    if (document.all(MenuId)){
63       document.all(MenuId).style.display = "none";
64    }
65}

 

学生信息管理主页studentInfo.html

  1<html>
  2  <head>
  3    <title>学生信息</title>
  4    <script type="text/javascript" src="util.js"></script>
  5    <script>
  6       //显示更新学生信息模态窗体
  7        function showDialog()
  8        {
  9            var result = window.showModalDialog("dialog.html",null,"dialogWidth=400px;dialogHeight=400px;");           
 10            if(result&&result.length!=0&&result[0]!="")
 11            {
 12                addRow(result);
 13            }
 14        }
 15        //添加一行学生信息
 16        function addRow(result)
 17        {
 18            var doc = window.listFrame.document;//内嵌框架的document对象
 19            var tb = doc.getElementById("stuTable");//学生信息表格
 20            var tbody = doc.getElementById("mytbody");
 21            //创建新的行
 22            var tr = doc.createElement("<tr onClick='SelectRow(this)' οndblclick='update();' οncοntextmenu='openShortCutMenu(this)' title='右键修改'>");
 23            //创建行的第一个单元格中的多选框
 24            var check = document.createElement("<input name='idArray' type='checkbox'>");
 25            var td = document.createElement("td");
 26            td.appendChild(check);
 27            tr.appendChild(td);
 28            //将模式窗体传过来的值添加到新行中
 29            for(i=0;i<result.length;i++)
 30            {
 31                var td = document.createElement("td");
 32                td.appendChild(document.createTextNode(result[i]));
 33                tr.appendChild(td);
 34            }
 35            tbody.appendChild(tr);
 36        }
 37        //删除学生信息
 38        function delStudent()
 39        {
 40       
 41            var checks = window.listFrame.document.getElementsByName("idArray");
 42            var count = multiCheck(checks);
 43            if(count==0) {alert("未选中任何选项!"); return;}
 44            if(window.confirm("确定要删除这"+count+"条信息吗?"))
 45            {
 46                while(count>0)
 47                {
 48                    var tb = window.listFrame.document.getElementById("stuTable");
 49                    var checks = window.listFrame.document.getElementsByName("idArray");
 50                    for(i=0;i<checks.length;i++)
 51                    {
 52                        if(checks[i].checked)
 53                        {  
 54                            tb.deleteRow(checks[i].parentElement.parentElement.rowIndex);
 55                            count--;
 56                            break;
 57                        }
 58                    }
 59                }
 60            }
 61               
 62        }
 63        //修改学生信息
 64        function update()
 65        {
 66             var CurrRow = window.listFrame.CurrRow;
 67             if(CurrRow&&CurrRow.cells.length>0)
 68             {
 69                  var values = new Array();
 70                for(i=0;i<CurrRow.cells.length-1;i++)
 71                {
 72                    values[i] = CurrRow.cells[i+1].innerText;
 73                }
 74                values[values.length] = CurrRow;//将修改的当前行传给模式窗体进行修改
 75                var result = window.showModalDialog("dialog.html",values,"dialogWidth=400px;dialogHeight=400px;");
 76             }else
 77             {
 78                 alert("请选中要修改的行");
 79             }
 80        }
 81    </script>
 82  </head>
 83 
 84  <body bgcolor="#FFFFFF" text="#000000" onselectstart="return false;">
 85      <table border="0" cellpadding="0" cellspacing="0" width="100%"
 86            height="95%">
 87            <tr>
 88                <td width="100%" height="100%" valign="top">
 89                    <IFRAME width="100%" id="listFrame" height="100%" border=0
 90                        frameBorder=1 name="listFrame" src="list.html"></IFRAME>
 91                </td>
 92            </tr>
 93            <tr>
 94                <td width="100%" align="center" colspan="2">
 95                    <input class="btn_70" type="button" value="刷  新" id="btRefresh"
 96                        οnclick="listFrame.location.reload();">
 97                    &emsp;&emsp;
 98                    <input class="btn_70" type="button" value="删  除" id="btDel"
 99                        οnclick="delStudent();">
100                    &emsp;&emsp;
101                    <input class="btn_70" type="button" value="添  加" id="btAdd"
102                        οnclick="showDialog();">
103                    &emsp;&emsp;
104                    <input type="button" Class="btn_70" value="修  改" name="btModify"
105                        οnclick="update();">
106                    &emsp;&emsp;
107                </td>
108            </tr>
109        </table>
110  </body>
111</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值