JavaScript知识点总结

来源:互联网 发布:淘宝首页导航尺寸 编辑:程序博客网 时间:2024/06/03 20:48

一)什么是JavaScript【以下简称JS】
JS是
(1)基于对象
JS本身就有一些现成的对象可供程序员使用,例如:Array,Math,String。。。
JS并不排除你可以自已按一定的规则创建对象
(2)事件驱动
JS代码写好后,需要外界触发后,方可运行,例如:单击事件,定时执行,。。。
(3)解释性
每次运行JS代码时,得需要将原代码一行一行的解释执行
相对编译型语言(例如:Java、C++)执行速度相对较慢
(4)基于浏览器的动态交互网页技术
如果JS嵌入到HTML中,可以不需要服务器支持,直接由浏览器解释执行
如果JS嵌入到JSP或Servlet中,必需要服务器支持,直接由浏览器解释执行
(5)嵌入在HTML标签中
JS必须嵌入到一个名叫的标签中,方可运行
JavaScript是脚本语言

二)JS中的三种类型
(1)基本类型:number,string,boolean
number包含正数,负数,小数
string由”或”“定界
boolean由true或false,但js中的boolean也包含更多情况,例如:存在表示true,不存在表示false

        var num = 100;        var str = "哈哈";        var flag = false;        window.alert(num);        window.alert(str);        window.alert(flag);

(2)特殊类型:null,undefined
null表示一个变量指向null
undefined表示一个变量指向的值不确定

        var array = null;        var student;        alert(array);        alert(student);

(3)复合类型:函数,对象,数组
对象包含内置对象和自定义的对象

三)JS中有三种定义函数的方式
(1)正常方式:function mysum(num1,num2){return num1+num2;}

        function mysum(num1,num2){            return num1 + num2;        }        var myresult = mysum(100,200);        alert("myresult="+myresult);

(2)构造器方式:new Function(“num1”,”num2”,”return num1+num2;”)

        var youresult = new Function("num1","num2","return num1+num2");        alert( youresult(1000,2000) );

(3)直接量或匿名或无名方式:var mysum = function(num1,num2){return num1+num2;}

        var theyresult = function(num1,num2){                            return num1 + num2;                          }        alert( theyresult(10000,20000) );

四)JS中有四种对象
(1)内置对象 :Date,Math,String,Array,。。。

var str = new Date().toLocaleString();        window.document.write("<font size='44' color='red'>"+str+"</font>");

(2)自定义对象:Person,Card,。。。

        function Student(id,name,sal){            //this指向s引用            this.id = id;            this.name = name;            this.sal = sal;        }        var s = new Student(1,"波波",7000);        document.write("编号:" + s.id + "<br/>");        document.write("姓名:" + s.name + "<br/>");        document.write("薪水:" + s.sal + "<br/>");

(3)浏览器对象: window,document,status,location,history。。。

    function myrefresh(){            window.history.go(0);        }

(4)ActiveX对象:ActiveXObject(“Microsoft.XMLHTTP”)……

五)演示JS对象的属性,方法和事件的使用
(1)window.location.href

            var url = "04_array.html";            window.location.href = url;

(2)form.submit()

    <form action="/js-day01/04_array.html" method="POST">        <input type="button" value="提交到服务端" onclick="doSubmit()"/>    </form>    <script type="text/javascript">        function doSubmit(){            //表单提交            document.forms[0].submit();        }    </script>

(3)inputElement.onblur = 函数
(4)document.createElement(“img”)
(5)imgElement.style.width/height

六)回顾传统Web应用请求和响应特点【显示当前时间】
(1)请求:浏览器以HTTP协议的方式提交请求到服务器
(2)响应:服务器以HTTP协议的方式响应内容到浏览器
注意:HTTP是WEB大众化非安全协议
HTTPS是WEB安全协议,是基于HTTP协议的,且加了一些加密等特殊功能,常用于在线支付,或者是需要安全性较高的网站中,例如:12306网站
HTTP请求有三个部份组成:请求行,请求头,请求体
HTTP响应有三个部份组成:响应行,响应头,响应体
(3)状态栏:有明显的进度条刷新现象,如果服务器响应较慢的话,进度条刷新也会变慢,IE9等中高版本浏览器,有明显转圈圈图标
(4)历史栏:会收集原来已访问过的web页面,进行缓存
(5)缺点:不需变化的大量数据,也全部刷新,造成浏览器加载和处理负担
(6)可改进的地方:让不需变化的大量数据,原封不动,不用缓存到历史栏中,无需全部刷新,只刷新某些需要变化的数据区域,例如:当前时间的区域

    当前时间:<span>${requestScope.str}</span><br/>    <input type="button" value="同步方式提交"/>    <script type="text/javascript">        //定位button按钮,同时添加单击事件        document.getElementsByTagName("input")[0].onclick = function(){            var url = "${pageContext.request.contextPath}/TimeServlet?id="+new Date().getTime();            window.location.href = url;         }    </script> Servlet:public class TimeServlet extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {        System.out.println("TimeServlet::doGet");        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String str = sdf.format(new Date());        request.setAttribute("str",str);        request.getRequestDispatcher("/06_time.jsp").forward(request,response);    }}