2月学习

1.        JavaScript基础

•      Html :  负责了一个页面的结构。

•      Css:  负责了一个页面的样式。

•      JavaScript:  负责与用户进行交互。

2.        JavaScript 是属于网络的脚本语言!JavaScript被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。JavaScript 是因特网上最流行的脚本语言。

3.        JavaScript具有安全性(不能直接访问硬盘的内容)和跨平台性的特点。

4.        JavaScript与Java不同

•       JS是Netscape公司的产品,Java是Sun公司的产品

•       JS是基于对象,没有继承封装等特性,Java是面向对象。

•       JS只需解释就可以执行,Java需要先编译成字节码文件,再执行。

•       JS是弱类型  变量类型为var ,Java是强类型,必须明确变量的数据类型。

5.        JavaScript包括三个部分:

•       ECMAScript 规范了基本的语法,是一种标准

•       BOM 浏览器对象模型

•       DOM 文档对象模型

6.        JS的语法:

1)   

2)使用script标签的src属性引入一个js文件。(方便后期维护,扩展)

例:<script src=”test.js”type=”text/javascript”></script>

3)注意:

•       页面上可以有多个<script>标签

•       <script>标签按顺序执行

•       <script>标签可以出现在任意的页面位置

•       <script>标签一定要写</script>关闭,而不能<script/>这样关闭。否则没有任何错误信息,但是没有运行结果。

4)JS区分大小写,且注释与JAVA一样Java:      //   /*  */    /** */

                   5)ECMASCRIPT 中有4种基本数据类型:

               Undefined, Boolean,Number和String

6)Typeof    关键字typeof可以获取一个变量的类型。

<scripttype="text/javascript">

              var a = 100;

              var b = 3.14;

              var c = true;

               var d = 'a';

               var e = "hello";

               document.write( typeof a + "<br/>");

               document.write( typeof b + "<br/>");

               document.write( typeof c + "<br/>");

               document.write( typeof d + "<br/>");

               document.write( typeof e + "<br/>");

   </script>

                            输出为:        number

                                                        Number

                                                        Boolean

                                                        String

                                                        string

                 7)循环控制语句

•       判断语句

if 语句的语法:

 

if (condition) statement1 elsestatement2

•       switch语句的语法:

switch (expression)

 case value: statement;

   break;

 case value: statement;

   break;

...

 case value: statement;

   break;

 default: statement;

•       while语句

while(expression) statement

•       do-while语句

do{statement} while (expression);

•       for语句

for(initialization; expression; post-loop-expression) statement

•       for-in语句:for 语句是严格的迭代语句,用于枚举对象的属性或者遍历一个数组的元素。

for (property in expression)statement

例子:用于显示window对象的所有属性。

for (sProp in window) {

 alert(sProp);

}

•       with语句:有了 With 语句,在存取对象属性和方法时就不用重复指定参考对象。

格式 :

with(obj){

         操作obj的属性语句;

         }

例子:

<script type="text/javascript">
        function   Person(id,name){

              this.id=id;

              this.name=name;

}

                                                                 //创建一个对象

                                                                 varp=new Person(1,”小五”);

                                                                 with(Person){

                                                                 document.write(“编号:”+id);

                                                                 document.write(“姓名:”+name);

</script>

                                               此处注意函数格式:

JavaScript中的函数没有重载的形式,后定义的函数会自动覆盖前面的函数。参数列表不能有var关键字且一个函数可以接受任意个参数。

函数格式

    Function 函数名(参数列表){

    代码;

    return 返回值; //return 不是必须的.

}

6.      综合实例

<html>

           <head>

<title>学习JavaScript</title>

           </head>

<body>

月份:

<inputtype="text" id="month">

<inputtype="button" value="显示天数"οnclick="foo()">

 

    <scripttype="text/javascript">

        functionfoo(){

var monthValue= document.getElementById("month").value;

           //如果是非数字,则不再继续执行

           if(isNaN(monthValue) ){

               alert("请输入正确的月份!");

               return;

           }

           //转为数字

           monthValue= parseInt(monthValue);

           //判断范围

           if(monthValue < 1 || monthValue > 12){

               alert("请输入正确的月份(1--12)!");

               return;

           }

           //根据月份显示天数

           switch(monthValue){// 这时不会自动转换类型,所以先转型

               case2:

                  alert("28天");

                  break;

               case4:

               case6:

               case9:

               case11:

                  alert("30天");

                  break;

               default:

                  alert("31天");

                  break;

           }

        }

    </script>

</body>

</html>

7.      常见的方法:

Anchor() 生产锚点

Blink()   为元素添加blink标签

charAt()    返回指定索引位置处的字符。

charCodeAt() 回一个整数,代表指定位置上字符的 Unicode 编码。

Concat()    回字符串值,该值包含了两个或更多个提供的字符串的连接。

Fontcolor()  把带有 COLOR 属性的一个 HTML<FONT> 标记放置在String 对象中的文本两端

indexOf()    返回 String 对象内第一次出现子字符串的字符位置

italics()    把 HTML <I> 标记放置在 String 对象中的文本两端,字体转为斜体。

Link()         把一个有 HREF 属性的 HTML 锚点放置在 String 对象中的文本两端,添加<a>标签。

Replace()      返回根据正则表达式进行文字替换后的字符串的复制

Split()        切割  

Substr()       截取子串

toUpperCase()  转大写

toLowerCase    转小写

实例:

//方法

document.write("第五章".anchor("ch1"));

document.write("第五章".blink());

// 返回在指定位置的字符。

document.write("第五章".charAt(0));

document.write("a".charCodeAt(0));

document.write("第五章".concat("abc"));

document.write("第五章".fontcolor("#ff0000"));

document.write("第五章".indexOf("五"));

document.write("第五章".italics());

document.write("第五章".link());

document.write("helloworld".replace(/l/g, "L"));//“L”换成“/l/g”

document.write("<br/>");

var names = "jack-lili-lucy".split("-");

for (var temp in names) {

      document.write(names[temp]+ "<br/>");

}

document.write("<br/>");

document.write("helloworld".substr(1, 2)); //el

document.write("helloworld".substring(1, 2));//e

document.write("helloworld".toUpperCase());

document.write(new String("java").toString() == newString("java").toString());

8.      Matn类

常用的方法:

max()

    min()

    random()

    document.write(Math.ceil(12.34)+ "<br/>");//将小数部分一律向整数部分进位。

document.write(Math.floor(12.34)+ "<br/>");//一律舍去,仅保留整数。

document.write(Math.round(12.54)+ "<br/>");//进行四舍五入

document.write(Math.round(12.35)+ "<br/>");

document.write(Math.random()+ "<br/>");

document.write(Math.max(12,100, -1, 200, 320, 500) + "</br>");

document.write(Math.min(12,100, -1, 200, 320, 500) + "</br>");

9.      Date对象

setInterval(代码, 毫秒数) 每经过指定毫秒值后执行指定的代码。

setTimeout(代码, 毫秒数) 经过指定毫秒值后执行指定的代码(只执行一次)。

data其他方法举例:

function showDate() {

  //获取系统时间

  vardate = new Date();

  //获取年月 日时分秒

  varstr = date.getFullYear() + "年" + (date.getMonth() + 1) +"月" + date.getDate() + "日" + "星期" + date.getDay() + "" + date.getHours() + "时" + date.getMinutes() +"分" + date.getMinutes() + "分" + date.getSeconds() + "秒"

  //将格式化好的时间显示在叶面的span标签体中

  varspan = document.getElementById("mydate");

  //给span标签设置标签体内容

  span.innerHTML= str.fontcolor("red");

  //调用定时函数

  window.setTimeout("showDate()",1000);

}

 

//调用函数

showDate();

10.  数组中常用的方法

    sort()

        对当前数组进行排序,并返回已经进行了排序的此Array对象。

        不会创建新对象,是在指定数组中直接进行排序。

    reverse()

        对当前数组进行反转排序,返回一个元素顺序被反转的 Array 对象。

        不会创建新对象,是在指定数组中直接进行排序。

 

    push([item1 [item2 [. . . [itemN ]]]] )

        将以新元素出现的顺序添加这些元素。

        如果参数之一为数组,那么该数组将作为单个元素添加到数组中。

    pop()

        移除数组中的最后一个元素并返回该元素。

        如果该数组为空,那么将返回 undefined。

    shift()

        移除数组中的第一个元素并返回该元素。

        如果该数组为空,那么将返回 undefined。

    unshift([item1[,item2 [, . . . [, itemN]]]])

        将指定的元素插入数组开始位置并返回该数组。

 

    splice(start,deleteCount, [item1[, item2[, . . . [,itemN]]]])

        移除从 start 位置开始的指定个数的元素,并插入新元素,从而修改      concat([item1[, item2[, . . . [, itemN]]]])

        返回一个新数组,这个新数组是由两个或更多数组组合而成的。原数组不变。

        要加的项目(item1 … itemN)会按照从左到右的顺序添加到数组。  

        如果某一项为数组,那么添加其内容到 array1 的末尾。

        如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。    

    slice(start,[end])

        返回一个包含了指定的部分元素的数组。

        将返回索引大于等于start且小于end的一段。

        原数组不变。

    join(separator)

        把所有元素由指定的分隔符分隔开来组成一个字符串,返回这个字符串值。

        如果数组中有元素没有定义或者为 null,将其作为空字符串处理。

11.  Object方式

/*

 * 自定义对象Object方式,

 *该例子创建了一个名为person的对象,并添加了2个属性(name age)和一个方法(sayHello)

 *  */

var person = new Object();

person.name = "jack";

person.age = 28;

person.sayHello = function() {

      document.write(this.name+ ":" + this.age);

}

person.sayHello();

另一种创建对象的方法:

var person={

      name:"李四",

      age:88,

      eat:function(){

               alert("eating...");

      }

};

alert(person.name+person.age);

person.eat();

7.        DIV的ID属性和CLASS属性有什么区别呢?

1)语法区别

id对应CSS是用样式选择符“#”(井号);

class对应CSS是用样式选择符“.”(英文半角输入句号)。

<divid="header"></div>

<divclass="abc"></div>

对应CSS应该是:

#header{...}

.abc{...}

/* css注释说明:这里以省略号替代CSS样式内容 */

2)使用规定区别

id属性,只能被一个元素调用(以“#”选择符命名CSS样式在一个页面只能使用调用一次)

class类标记,可以用于被多个元素调用(以“.”选择符命名样式可以一个页面使用多次)

id:在同一个页面,只可以被调用一次,在CSS里用“#”表示。

class:是类标签,在同一个页面可以调用无数次(没限制的),在CSS里用“.”表示。

id就像一个人的身份证,用于识别这个div的,class就像人身上穿的衣服,用于定义这个div的样式。一般一个网页不设二个或二个以上同id的div,但class可以多个div用同一个class标签。

8.        package cn.itcast;

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Enumeration;

 

import javax.jws.WebService;

import javax.servlet.ServletConfig;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.ServletInputStream;

import javax.servlet.annotation.WebInitParam;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class helloServlet extends HttpServlet{

@Override

public void init(ServletConfigconfig) throws ServletException {

           // TODOAuto-generated method stub

           super.init(config);

                            

}

@Override

protected voiddoGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {

           // TODOAuto-generated method stub

           //resp.getWriter().write("thisis HelloServlet");

           this.doPost(req,resp);

           /*

            * 发送到重定向页面中;

            */

           /*

           ServletContextcontext=this.getServletContext();

           Stringpath=context.getContextPath();

           resp.sendRedirect(path+"index.html");

           */

}

@Override

protected voiddoPost(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {

           // TODOAuto-generated method stub

           /*InputStreamin=req.getInputStream();//获取实体信息;

         byte[] b= new byte[1024];

           int len=0;

           while((len=in.read(b))!=-1){

                    Stringstr=new String(b,0,len);

                    System.out.println(str);

           }*/

          

           //name=newString(name.getBytes("IOS-8859-1"),"UTF-8");//重新编码;

           //req.setCharacterEncoding("UTF-8");//该方法只能对实体内容起作用,post

          

           /*

            Enumeration<String>info=req.getParameterNames();//拿到参数名;

            while(info.hasMoreElements()){

                     String paraName=info.nextElement();

                     String paraValue=req.getParameter(paraName);

                     System.out.println(paraName+":"+paraValue);

            }

           try{

           //servlet中获取数据库信息;连接;

                    resp.setCharacterEncoding("UTF-8");

                    resp.setContentType("text/html;charset=UTF-8");

                   

                    ServletConfigconfig=getServletConfig();

                    Stringdriver=config.getInitParameter("driver");

                    Stringurl=config.getInitParameter("url");

                    Stringuser=config.getInitParameter("user");

                    Stringpass=config.getInitParameter("pass");

                    Class.forName(driver);

                    Connectionconnection=DriverManager.getConnection(url,user,pass);

                    Statementstat=connection.createStatement();

                    ResultSetrs=stat.executeQuery("select * from zhaocan");

          

           //显示

                    PrintWriterpw=new PrintWriter(resp.getOutputStream());

                    System.out.println("<html>");

                    System.out.println("<body>");

                    System.out.println("<table>");

                    while(rs.next()){

                             System.out.println("<tr>");

                             System.out.println("<td>"+rs.getString(1)+"</td>");

                             System.out.println("<td>"+rs.getString(2)+"</td>");

                             System.out.println("</tr>");

                    }

                    System.out.println("</table>");

                    System.out.println("</body>");

                    System.out.println("</html>");

           }catch(Exception e){

                    e.printStackTrace();

           }

          

           resp.setContentType("text/html;utf-8");

           //获取当前时间

           SimpleDateFormatformat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

           StringcurrentTime=format.format(new Date());

          

           Cookie[]cookies=req.getCookies();

           StringlastTime=null;

           if(cookies!=null){

                    for (Cookiecookie : cookies) {

                             if(cookie.getName().equals("lastTime")){

                                       //第n次访问

                                       Stringlast=cookie.getValue();

                                       resp.getWriter().write("上次登录的时间为:"+last+"当前时间为:"+currentTime);

                                       //更新cookie;发送;

                                       cookie.setValue(currentTime);

                                       cookie.setMaxAge(24*60*60);

                                       resp.addCookie(cookie);

                                       break;

                             }

                    }

           }

           if(cookies==null ||lastTime==null){

                    resp.getWriter().write("首次访问时间为:"+currentTime);

         }

           //创建新的cookie,将信息发送到浏览器;

           Cookie cookie = newCookie("lastTime", currentTime);

           cookie.setMaxAge(24*60*60);

           resp.addCookie(cookie);

*/       }       

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值