15、javascript脚本语言
来源:互联网 发布:济南知豆电动汽车租赁 编辑:程序博客网 时间:2024/06/05 09:01
JavaScript是Netscape公司开发的一种基于客户端浏览器、面向对象、事件驱动的网页脚本语言
JavaScript特点:事件驱动式的脚本程序设计思想,动态交互式的操作
Javascript作用:交互操作,表单验证,网页特效,Web游戏,服务器脚本开发等
Java采用强类型变量检查,变量使用前必须声明;JavaScript采用弱类型,变量使用前不需要声明
Java采用静态编译,即Java的对象引用必须在编译时进行,以使编译器能够实现强类型检查,如不编译则就无法实现对象引用的检查。JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查。
JavaScript的格式:JavaScript区分大小写;JavaScript脚本程序必须嵌入在HTML文件中;每行一条脚本语句;语句末尾可以加分号;javaScript脚本程序可以独立保存为一个外部文件,但其中不能包含<script></script>标签
JavaScript的库:jQuery、dojo、extJs
JavaScript脚本程序的几种基本格式:
- <script>
document.write("hello");
</script>
- <script language="JavaScript">
document.write("hello");
</script>
- <script language="JavaScript" type="text/JavaScript">
document.write("hello");
</script>
- <script src="hello.js"></script> 注意:document.write("hello");必须保存为一个外部文件:hello.js
变量声明:var 变量名 也可以省略var,函数中如果定义变量,且没有使用var则这个变量是全局变量,否则,如果使用了var,则是局部变量,定义在函数外的变量一定是全局变量
变量作用域:
with语句:
for...in语句:
对象:默认对象
- 日期对象:Date
- 数组对象:new Array();
var fruit = new Array("苹果","鸭梨","苹果");
var fruit = ["苹果","鸭梨","苹果"];
var fruit = new Array(3); fruit.push("苹果");
数组对象的方法:join([分隔符]):数组元素组合为字符串
toString() : 以字符串表示数组
reverse() : shuzufanzhuan
valueOf() : 返回数组值
- 字符串对象:变量 = new String()
变量 = "字符串"
方法:charAt(索引) :返回索引位置的字符串
indexOf("字符串"[,索引]) : 返回字符串在对象中的索引位置
lastIndexOf("字串"[,索引]) : 返回字串在对象中的索引位置(反向搜索)
replace("字串1","字串2") : 字串2替换字串1
search("字串") : 返回字串在对象中的索引位置
substring(索引|i[,索引j])返回索引j到索引j-1的子串
自定义对象:构造函数定义对象类型 ; 建立对象实例
动态的定义对象属性:构造函数定义
事件处理程序:浏览器响应某个事件,实现用户的交互操作而进行的处理(过程);事件处理程序的调用:浏览器等待用户的交互操作,并在事件发生时,自动调用事件处理程序(函数),完成事件处理过程。
定时器:用于指定在一段特定的事件后执行某段程序。setTimeout(): 格式 : [定时器对象名=] setTimeout("<表达式>",毫秒) 功能:执行<表达式>一次。
setInterval() :格式 : [定时器对象名=] setInterval("<表达式>",毫秒) 功能:重复执行<表达式>,直至窗口、框架被关闭或执行clearInterval。
clearInterval():终止定时器 格式:clearInterval(定时器对象名)
JavaScript内置对象:
- 图像对象
- 导航对象
- 窗口对象
- 屏幕对象
- 事件对象
- 历史对象
- 文件对象
- 锚点对象
- 连接对象
- 框架对象
- 表单对象
- 位置对象
alert()窗口是一个模态的,就是说必须处理,否则无法继续输入
屏幕对象:screen
事件对象:在js中为某个对象(控件)绑定事件通常可以采取两种手段:
1)<input type="button" onclick="clickHandler();">
2)<input type="button" id="button1">
<script type="text/javascript">
var v = document.getElementById("button1");
v.onclick = clickHandler;
</script>
当事件发生时,浏览器自动建立该对象,并包含该事件的类型、鼠标坐标等
历史对象:history
位置对象:用来代表特定窗口的URL信息 location
连接对象:网页中的链接均会被自动看做链接对象,并依顺序,分别表示为document.links[0],document.links[1]...;定义链接对象的 格式:字串.link(属性)
Cookie对象:是一种以文件(Cookie文件)的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cookie数据)。Cookie文件由所访问的Web站点建立,以长久的保存客户端与web站点间的会话数据,并且该Cookie数据只允许被所访问的web站点进行读取。
Cookie文件的格式:NS:Cookie.txt IE:用户名@域名.txt
写入cookie: 格式: document.cookie = “关键字 = 值[;expires = 有效日期][;...]”
有两种类型的cookie:1)持久性cookie,会被存储到客户端的硬盘上。 2)会话cookie:不会存储到客户端的硬盘上,而是放在浏览器进程所处的内存中,当浏览器关闭则该会话cookie就销毁了。
举例:用javascript控制页面元素的显示与否:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'begin.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script type="text/javascript">function validate(){var num = document.getElementsByName("number")[0];if(num.value.length < 1){alert("不能为空");num.focus();return false;}for(var i = 0; i < num.value.length; i++){var param = "0123456789";if(param.indexOf(num.value.charAt(i)) == -1){alert("输入必须为数字");num.focus();return false;}}if(parseInt(num.value) < 5 || parseInt(num.value) > 15){num.value = 10;}return true;}</script> </head> <body> <form action="js/end.jsp" name="form1" method="post" onsubmit="return validate();"> 请输入数字(5——15):<input type="text" name="number"><br/> <input type="submit" value="submit"> </form> </body></html><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'end.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><script type="text/javascript">function checkAll(){var s = document.getElementsByName("check");var m = document.getElementsByName("all")[0];if(m.checked){for(var i = 0; i < s.length; i++){s[i].checked = true;}}else{for(var i = 0; i < s.length; i++){s[i].checked = false;}}}function turn(){with(document){var m = getElementById("change");var n = getElementById("table");if(m.value =="收缩"){n.style.display = "none";m.value = "展开";}else{n.style.display = "block";m.value = "收缩";}}}</script> </head> <body> <table border="1" align="center" width="60%"> <tr> <td> <input type="checkbox" name="all" onclick="checkAll();" >全选 </td> <td> <input type="button" value="收缩" id="change" onclick="turn();"> </td> </tr> </table> <% int number = Integer.parseInt(request.getParameter("number")); %> <table border="1" align="center" width="60%" id="table"> <% for(int i = 1; i<=number;i++) {%> <tr> <td> <input type="checkbox" name="check"> </td> <td> <%= i %> </td> </tr> <% } %> </table> </body></html>
- 15、javascript脚本语言
- JavaScript脚本语言
- JavaScript脚本语言
- JavaScript脚本语言
- JavaScript 不只是脚本语言
- javascript 脚本语言体会
- javascript脚本语言常用事件
- document对象JavaScript脚本语言
- JavaScript脚本语言初解
- Java调用脚本语言(JavaScript)
- AJAX与JavaScript脚本语言
- JavaScript脚本语言简介
- JavaScript脚本语言特色时钟
- 3、javascript脚本语言
- Javascript脚本语言详解
- 《客户端脚本语言-JavaScript》
- JavaScript 脚本语言 重点整理
- Javascript 脚本语言详解
- 第4章, 4.14.2打印1~100之间的素数
- PostgreSQL 中的全局可配置变量
- Vim 配置详解
- android百度地图开发之完善版
- Android模拟小球自由落体2(重力感应并添加z轴)
- 15、javascript脚本语言
- protocol与delegate,代理(委托)与协议总结
- poj017
- 2012华为编程之就餐调查
- Android中使用gzip传递数据
- Qt 子窗口内嵌到父窗口中
- 普通人的编辑利器——Vim
- 面试
- 杭电2189