- 浏览: 182010 次
文章分类
最新评论
-
luxing44530:
你好, 关于 JDK 7中也有一个支持协程方式的实现 在那呀? ...
Java性能调优笔记 -
songgz:
你是一个会思考的人,前途无量,代码审查显然不能以风格和规则为主 ...
到底该怎么样做代码审查? -
jiaoronggui:
遇到过一模一样的问题
一条Select语句导致瓶颈 -
Leon.Wood:
写出让计算机读懂的代码很容易,写出让人读懂的只有高手才能做到. ...
到底该怎么样做代码审查? -
ajuanlove:
不经常用这玩意
对300万一张表数据,用游标进行循环,不同写法的效率比较
一:弹出框
JavaScript中有三种弹出框:警告(alert)、确认(confirm)以及提问(prompt)。
1.警告(alert)
在访问网站的时候,你遇到“咚”的一声,一个小窗口出现在你面前,上面写着一段警示性的文字,或是其它的提示信息。如果你不点击确定,你就不能对网页做任何的操作。没错,这个“咚”的小窗口就是alert干的。 下面的代码是一段使用alert的实例。
<script type="text/JavaScript">
alert("我是菜鸟我怕谁");
</script>
2.确认(confirm)
确认框用于让用户选择某一个问题是否符合实际情况。来看下面的代码:我们用confirm("你是菜鸟吗?")向访客提问,变量r则保存了访客的回应,它只可能有两种取值:true或false。没错,它是一个布尔值。confirm后面的语句则是我们对访客回答做出的不同回应。
- <span style="font-size:16px;">var r=confirm("你是菜鸟吗");
- if (r==true)
- { document.write("彼此彼此"); }
- else
- { document.write("佩服佩服"); } </script>
- </span>
3.提问(prompt)
prompt和confirm类似,不过它允许访客随意输入回答。我们根据分数来做出不同的评价,现在我么就可以用prompt来向访客提问,用score存储用户输入的回答,其余的事情就都由后面的switch来完成了。
- <span style="font-size:16px;">function judge() {
- var score;//分数
- var degree;//分数等级
- score = prompt("你的分数是多少?")
- if (score > 100){
- degree = '耍我?100分满!'; }
- else{
- switch (parseInt(score / 10)) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- degree = "恭喜你,又挂了!";
- break;
- case 6:
- degree = "勉强及格";
- break;
- case 7:
- degree = "凑合,凑合"
- break;
- case 8:
- degree = "8错,8错";
- break;
- case 9:
- case 10:
- degree = "高手高手,佩服佩服";
- }//end of switch
- }//end of else
- alert(degree);
- }
- </span>
二:JavaScript事件
我们之前提到过函数的调用。函数定义之后,默认是不会执行的,这时候就需要一些事件来触发这个函数的执行。 JavaScript很多有很多事件,例如鼠标的点击、移动,网页的载入和关闭。我们一起来看几个事件的实例。
1.点击事件
使用点击事件调用,需要给元素设置onclick属性。示例代码如下:
<button value="点击提交" onclick="displaymessage()">onclick调用函数</button>
由于设置了onclick="displaymessage()",因此点击按钮则会调用函数。
2.鼠标经过、移出事件
使用鼠标经过事件调用函数的代码如下:
<button value="点击提交" onmouseover="displaymessage()">鼠标滑过调用函数</button>
当鼠标经过按钮时,触发onmouseover事件,将会调用函数displaymessage()。
使用鼠标移出事件调用函数的代码如下:
<button value="点击提交" onmouseout="displaymessage()">鼠标移出调用函数</button>
把鼠标移动到这个按钮里面,当再移动出去时,触发onmouseout 事件,将会调用函数displaymessage()。
11.3更多事件
JavaScript中还有很多事件,完整的列表可以看看http://www.w3pop.com/learn/view/p/3/o/0/doc/jsref_events/。
下面的列表列举了可以插入HTML标签中来定义事件动作的属性,具体的用法请参考上面的网站
属性 |
事件发生时机 |
onabort |
图片下载被打断时 |
onblur |
元素失去焦点时 |
onchange |
框内容改变时 |
onclick |
鼠标点击一个对象时 |
ondblclick |
鼠标双击一个对象时 |
onerror |
当加载文档或图片时发生错误时 |
onfocus |
当元素获取焦点时 |
onkeydown |
按下键盘按键时 |
onkeypress |
按下或按住键盘按键时 |
onkeyup |
放开键盘按键时 |
onload |
页面或图片加载完成时 |
onmousedown |
鼠标被按下时 |
onmousemove |
鼠标被移动时 |
onmouseout |
鼠标离开元素时 |
onmouseover |
鼠标经过元素时 |
onmouseup |
释放鼠标按键时 |
onreset |
重新点击鼠标按键时 |
onresize |
当窗口或框架被重新定义尺寸时 |
onselect |
文本被选择时 |
onsubmit |
点击提交按钮时 |
onunload |
用户离开页面时 |
三:JavaScript 对象化编程
JavaScript 是使用“对象化编程”的,或者叫“面向对象编程”的。所谓“对象化编程”,意思是把 JavaScript 能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编程都以对象为出发点,基于对象。小到一个变量,大到网页文档、窗口甚至屏幕,都是对象。JavaScript对象是可以是一段文字、一幅图片、一个表单(Form)等等。每个对象有它自己的属性、方法和事件。对象的属性是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等等;对象的方法能对该对象做一些事情,例如,表单的“提交”(Submit),窗口的“滚动”(Scrolling)等等;而对象的事件就能响应发生在对象上的事情,例如提交表单产生表单的“提交事件”,点击连接产生的“点击事件”。不是所有的对象都有以上三个性质,有些没有事件,有些只有属性。引用对象的任一“性质”用“<对象名>.<性质名>”这种方法。
JavaScript对象有:基本对象、全局对象、文档对象。下面我们一一介绍。
14.1基本对象
(1)String 字符串对象 :前面博客中已经提到过了,并且具体用法和方法和java中的基本相识,在此不在写了
(2)Array 数组对象
数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的。
属性
length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。
方法
join() 用法:<数组对象>.join(<分隔符>);返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容。
reverse() 用法:<数组对象>.reverse();使数组中的元素顺序反过来。如果对数组[1, 2, 3]使用这个方法,它将使数组变成:[3, 2, 1]。
slice() 用法:<数组对象>.slice(<始>[, <终>]);返回一个数组,该数组是原数组的子集,始于<始>,终于<终>。如果不给出<终>,则子集一直取到原数组的结尾。
sort() 用法:<数组对象>.sort([<方法函数>]);使数组中的元素按照一定的顺序排列。如果不指定<方法函数>,则按字母顺序排列。在这种情况下,80 是比 9 排得前的。如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。<方法函数>比较难讲述,这里只将一些有用的<方法函数>介绍给大家。
按升序排列数字:
function sortMethod(a, b) {
return a - b;
}
myArray.sort(sortMethod);
按降序排列数字:把上面的“a - b”该成“b - a”。
(3)Math “数学”对象
Math对象,提供对数据的数学计算。下面所提到的属性和方法,不再详细说明“用法”,大家在使用的时候记住用“Math.<名>”这种格式。
属性
E 返回常数 e (2.718281828...)。
LN2 返回 2 的自然对数 (ln 2)。
LN10 返回 10 的自然对数 (ln 10)。
LOG2E 返回以 2 为低的 e 的对数 (log2e)。
LOG10E 返回以 10 为低的 e 的对数 (log10e)。
PI 返回π(3.1415926535...)。
SQRT1_2 返回 1/2 的平方根。 SQRT2 返回 2 的平方根。
方法
abs(x) 返回 x 的绝对值。
acos(x) 返回 x 的反余弦值(余弦值等于 x 的角度),用弧度表示。 asin(x) 返回 x 的反正弦值。
atan(x) 返回 x 的反正切值。
atan2(x, y) 返回复平面内点(x, y)对应的复数的幅角,用弧度表示,其值在-π 到π之间。
ceil(x) 返回大于等于 x 的最小整数。
cos(x) 返回 x 的余弦。
exp(x) 返回 e 的 x 次幂 (ex)。
floor(x) 返回小于等于 x 的最大整数。
log(x) 返回 x 的自然对数 (ln x)。
max(a, b) 返回 a, b 中较大的数。
min(a, b) 返回 a, b 中较小的数。
pow(n, m) 返回 n 的 m 次幂 (nm)。
random() 返回大于 0 小于 1 的一个随机数。
round(x) 返回 x 四舍五入后的值。
sin(x) 返回 x 的正弦。
sqrt(x) 返回 x 的平方根。
tan(x) 返回 x 的正切。
(4)Date 对象
Date 日期对象。这个对象可以储存任意一个日期,从 0001 年到 9999 年,并且可以精确到毫秒数(1/1000 秒)。
定义一个日期对象:
var today = new Date();
这个方法使 d 成为日期对象,并且已有初始值:当前时间。如果要自定初始值,可以用下列方法:
var d = new Date(99, 10, 1); //99 年 10 月 1 日 var d = new Date('Oct 1, 1999'); //99 年 10 月 1 日
最好的方法就是用下面介绍的“方法”来严格的定义时间。
方法
以下有很多getXXX()、setXXX()这样的方法,getXXX()是获得某个数值,而setXXX()是设定某个数值。
如无说明,方法的使用格式为:“<对象>.<方法>”,下同。
get/setFullYear() 返回/设置年份,用四位数表示。如果使用“x.setFullYear(99)”,则年份被设定为 0099 年。
get/setYear() 返回/设置年份,用两位数表示。设定的时候浏览器自动加上“19”开头,故使用“x.setYear(00)”把年份设定为 1900 年。
get/setMonth() 返回/设置月份, 0 表示1月。
get/setDate() 返回/设置日期。
get/setDay() 返回/设置星期,0 表示星期天。
get/setHours() 返回/设置小时数,24小时制。
get/setMinutes() 返回/设置分钟数。
get/setSeconds() 返回/设置秒钟数。
get/setMilliseconds() 返回/设置毫秒数。
get/setTime() 返回/设置时间,该时间就是日期对象的内部处理方法:从 1970 年 1 月 1 日零时正开始计算到日期对象所指的日期的毫秒数。如果要使某日期对象所指的时间推迟 1 小时,就用:“x.setTime(x.getTime() + 60 * 60 * 1000);”(一小时 60 分,一分 60 秒,一秒 1000 毫秒)。
getTimezoneOffset() 返回日期对象采用的时区与格林威治时间所差的分钟数。在格林威治东方的市区,该值为负,例如:中国时区(GMT+0800)返回“-480”。 toString() 返回一个字符串,描述日期对象所指的日期。这个字符串的格式类似于:“FriJul 21 15:43:46 UTC+0800 2000”。
toLocaleString() 返回一个字符串,描述日期对象所指的日期,用本地时间表示格式。如:“2000-07-21 15:43:46”。
toGMTString() 返回一个字符串,描述日期对象所指的日期,用 GMT 格式。
toUTCString() 返回一个字符串,描述日期对象所指的日期,用 UTC 格式。
parse() 用法:Date.parse(<日期对象>);返回该日期对象的内部表达方式。
下面例子显示当前日期:
- <span style="font-size:16px;"><html>
- <body>
- <script language="JavaScript">
- today = new Date();
- var day; var date;
- if(today.getDay()==0) day = "星期日"
- if(today.getDay()==1) day = "星期一"
- if(today.getDay()==2) day = "星期二"
- if(today.getDay()==3) day = "星期三"
- if(today.getDay()==4) day = "星期四"
- if(today.getDay()==5) day = "星期五"
- if(today.getDay()==6) day = "星期六"
- date = "今天是" + (today.getYear()) + "年" + (today.getMonth() + 1 ) + "月 " + today.getDate() + " 日 " + day +"";
- document.write(date);
- </script>
- </body>
- </html>
- </span>
2.文档对象
文档对象是指在网页文档里划分出来的对象。在 JavaScript 能够涉及的范围内有如下几个“大”对象:window, document, location, navigator, screen, history 等。下面是一个文档对象树。
要引用某个对象,就要把父级的对象都列出来。例如,要引用某表单“MyForm”的某文字框“UserName”,就要用“document. MyForm. UserName”。
引用Form下的表单元素对象不使用名称,比如Button,而是通过对象的ID 或 Name进行引用,或使用它所属的对象数组。比如:
<input id="UserName" type="text" />
var name = document.getElementById("UserName");//通过id获取值
(1)navigator
navigator 浏览器对象 反映了当前使用的浏览器的资料。
属性
appCodeName 返回浏览器的“码名”,流行的 IE 和 NN 都返回 'Mozilla'。
appName 返回浏览器名。IE 返回 'Microsoft Internet Explorer',NN 返回 'Netscape'。
appVersion 返回浏览器版本,包括了大版本号、小版本号、语言、操作平台等信息。
platform 返回浏览器的操作平台,对于 Windows 9x 上的浏览器,返回 'Win32'(大小写可能有差异)。
userAgent 返回以上全部信息。例如,IE5.01 返回 'Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)'。
javaEnabled() 返回一个布尔值,代表当前浏览器允许不允许 Java。
(2)screen
screen 屏幕对象 反映了当前用户的屏幕设置。
属性
width 返回屏幕的宽度(像素数)。 height 返回屏幕的高度。 availWidth 返回屏幕的可用宽度(除去了一些不自动隐藏的类似任务栏的东西所占用的宽度)。
availHeight 返回屏幕的可用高度。
colorDepth 返回当前颜色设置所用的位数 - 1:黑白;8:256色;16:增强色;24/32:真彩色
(3)window
window 窗口对象是最大的对象,它描述的是一个浏览器窗口。一般要引用它的属性和方法时,不需要用“window.xxx”这种形式,而直接使用“xxx”。一个框架页面也是一个窗口。
属性
name 窗口的名称,由打开它的连接(<a target="...">)或框架页(<frame name="...">)或某一个窗口调用的 open() 方法决定。一般我们不会用这个属性。
status 指窗口下方的“状态栏”所显示的内容。通过对 status 赋值,可以改变状态栏的显示。
opener 用法:window.opener;返回打开本窗口的窗口对象。
注意:返回的是一个窗口对象。如果窗口不是由其他窗口打开的,在 Netscape 中这个属性返回 null;在 IE 中返回“未定义”(undefined)。
undefined 在一定程度上等于 null。
注意:undefined 不是 JavaScript 常数,如果你企图使用“undefined”,那就真的返回“未定义”了。
self 指窗口本身,它返回的对象跟 window 对象是一模一样的。最常用的是“self.close()”,放在<a>标记中:“<a href="javascript:self.close()">关闭窗口</a>”。
parent 返回窗口所属的框架页对象。
top 返回占据整个浏览器窗口的最顶端的框架页对象。
history 历史对象,见下。
location 地址对象,见下。
document 文档对象,见下。
方法
open() 打开一个窗口。
用法:open(<URL字符串>, <窗口名称字符串>, <参数字符串>); <URL字符串>:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任何网页。 <窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用'_top'、'_blank'等内建名称。这里的名称跟“<a href="..." target="...">”里的“target”属性是一样的。 <参数字符串>:描述被打开的窗口的样式。如果只需要打开一个普通窗口,该字符串留空(''),如果要指定样式,就在字符串里写上一到多个参数,参数之间用逗号隔开。
例:打开一个 400 x 100 的干净的窗口: open('','_blank','width=400,height=100,menubar=no,toolbar=no, location=no,directories=no,status=no,scrollbars=yes,resizable=yes')
参数 |
|
top=# |
窗口顶部离开屏幕顶部的像素数 |
left=# |
窗口左端离开屏幕左端的像素数 |
width=# |
窗口的宽度 |
height=# |
窗口的高度 |
menubar=... |
窗口有没有菜单,取值yes或no |
toolbar=... |
窗口有没有工具条,取值yes或no |
location=... |
窗口有没有地址栏,取值yes或no |
directories=... |
窗口有没有连接区,取值yes或no |
scrollbars=... |
窗口有没有滚动条,取值yes或no |
status=... |
窗口有没有状态栏,取值yes或no |
resizable=... |
窗口给不给调整大小,取值yes或no |
fullscreen= |
窗口是否全屏,取值yes或no |
open() 方法有返回值,返回的就是它打开的窗口对象。所以,
var newWindow = open('','_blank');
这样把一个新窗口赋值到“newWindow”变量中,以后通过“newWindow”变量就可以控制窗口了。
close()关闭一个已打开的窗口。
用法:window.close() 或 self.close():关闭本窗口; <窗口对象>.close():关闭指定的窗口。 如果该窗口有状态栏,调用该方法后浏览器会警告:“网页正在试图关闭窗口,是否关闭?”然后等待用户选择是否;如果没有状态栏,调用该方法将直接关闭窗口。
blur() 使焦点从窗口移走,窗口变为“非活动窗口”。 focus() 是窗口获得焦点,变为“活动窗口”。
scrollTo() 用法:[<窗口对象>.]scrollTo(x, y);使窗口滚动,使文档从左上角数起的(x, y)点滚动到窗口的左上角。
scrollBy() 用法:[<窗口对象>.]scrollBy(deltaX, deltaY);使窗口向右滚动 deltaX 像素,向下滚动 deltaY 像素。如果取负值,则向相反的方向滚动。
resizeTo() 用法:[<窗口对象>.]resizeTo(width, height);使窗口调整大小到宽 width 像素,高 height 像素。
resizeBy() 用法:[<窗口对象>.]resizeBy(deltaWidth, deltaHeight);使窗口调整大小,宽增大 deltaWidth 像素,高增大 deltaHeight 像素。如果取负值,则减少。
alert() 用法:alert(<字符串>);弹出一个只包含“确定”按钮的对话框,显示<字符串>的内容,整个文档的读取、Script 的运行都会暂停,直到用户按下“确定”。 C
onfirm() 用法:confirm(<字符串>);弹出一个包含“确定”和“取消”按钮的对话框,显示<字符串>的内容,要求用户做出选择,整个文档的读取、Script 的运行都会暂停。如果用户按下“确定”,则返回 true 值,如果按下“取消”,则返回 false 值。
prompt() 用法:prompt(<字符串>[, <初始值>]);弹出一个包含“确认”“取消”和一个文本框的对话框,显示<字符串>的内容,要求用户在文本框输入一些数据,整个文档的读取、Script 的运行都会暂停。如果用户按下“确认”,则返回文本框里已有的内容,如果用户按下“取消”,则返回 null 值。如果指定<初始值>,则文本框里会有默认值。
setTimeout()和setInterval()的使用
这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript。不过两者各有各的应用场景。 实际上,setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。 不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。 虽然表面上看来setTimeout只能应用在on-off方式的动作上,不过可以通过创建一个函数循环重复调用setTimeout,以实现重复的操作:
showTime();
function showTime()
{
var today = new Date();
alert("The time is: " + today.toString());
setTimeout("showTime()", 5000);
}
一旦调用了这个函数,那么就会每隔5秒钟就显示一次时间。如果使用setInterval,则相应的代码如下所示:
setInterval("showTime()", 5000);
function showTime()
{
var today = new Date();
alert("The time is: " + today.toString());
}
这两种方法可能看起来非常像,而且显示的结果也会很相似,不过两者的最大区别就是,setTimeout方法不会每隔5秒钟就执行一次showTime函数,它是在每次调用setTimeout后过5秒钟再去执行showTime函数。这意味着如果showTime函数的主体部分需要2秒钟执行完,那么整个函数则要每7秒钟才执行一次。而setInterval却没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行一次那个函数。 如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。 用 setInterval 命令来创建的对象,可以用 clearInterval() 命令来终止。比如:
var MyMar=setInterval(showTime(),speed);
clearInterval(MyMar);
(4)history
history 历史对象指浏览器的浏览历史。
属性
length 历史的项数。JavaScript 所能管到的历史被限制在用浏览器的“前进”“后退”键可以去到的范围。本属性返回的是“前进”和“后退”两个按键之下包含的地址数的和。
方法
back() 后退,跟按下“后退”键是等效的。
forward() 前进,跟按下“前进”键是等效的。
go() 用法:history.go(x);在历史的范围内去到指定的一个地址。如果 x < 0,则后退 x 个地址,如果 x > 0,则前进 x 个地址,如果 x == 0,则刷新现在打开的网页。history.go(0) 跟 location.reload() 是等效的。
(5)location
location 地址对象描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,只需要使用“location”就行了;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。
注意 属于不同协议或不同主机的两个地址之间不能互相引用对方的 location 对象,这是出于安全性的需要。例如,当前窗口打开的是“www.a.com”下面的某一页,另外一个窗口(对象名为:bWindow)打开的是“www.b.com”的网页。如果在当前窗口使用“bWindow.location”,就会出错:“没有权限”。这个错误是不能用错误处理程序(Event Handler,参阅 onerror 事件)来接收处理的。
属性
protocol 返回地址的协议,取值为 'http:','https:','file:' 等等。 hostname 返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。 port 返回地址的端口号,一般 http 的端口号是 '80'。 host 返回主机名和端口号,如:'www.a.com:8080'。 pathname 返回路径名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。 hash 返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里没有“#”,则返回空字符串。 search 返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search == '?selection=3&jumpto=4';如果地址里没有“?”,则返回空字符串。 href 返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎么返回。如果想一个窗口对象打开某地址,可以使用“location.href = '...'”,也可以直接用“location = '...'”来达到此目的。
方法
reload() 相当于按浏览器上的“刷新”(IE)或“Reload”(Netscape)键。 replace() 打开一个 URL,并取代历史对象中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的“后退”键将不能返回到刚才的页面。
(6)document
document 文档对象 描述当前窗口或指定窗口对象的文档。它包含了文档从<head>到</body>的内容。 用法:document (当前窗口) 或 <窗口对象>.document (指定窗口)
属性
lastModified 当前文档的最后修改日期,是一个 Date 对象。 referrer 如果当前文档是通过点击连接打开的,则 referrer 返回原来的 URL。
title 指<head>标记里用<title>...</title>定义的文字。在 Netscape 里本属性不接受赋值。
fgColor 指<body>标记的 text 属性所表示的文本颜色。
bgColor 指<body>标记的 bgcolor 属性所表示的背景颜色。 linkColor 指<body>标记的 link 属性所表示的连接颜色。 alinkColor 指<body>标记的 alink 属性所表示的活动连接颜色。 vlinkColor 指<body>标记的 vlink 属性所表示的已访问连接颜色。
方法
open() 打开文档以便 JavaScript 能向文档的当前位置(指插入 JavaScript 的位置)写入数据。通常不需要用这个方法,在需要的时候 JavaScript 自动调用。
write(); writeln() 向文档写入数据,所写入的会当成标准文档 HTML 来处理。writeln() 与 write() 的不同点在于,writeln() 在写入数据以后会加一个换行。这个换行只是在 HTML 中换行,具体情况能不能够是显示出来的文字换行,要看插入 JavaScript 的位置而定。如在<pre>标记中插入,这个换行也会体现在文档中。
clear() 清空当前文档。
close() 关闭文档,停止写入数据。如果用了 write[ln]() 或 clear() 方法,就一定要用 close() 方法来保证所做的更改能够显示出来。如果文档还没有完全读取,也就是说,JavaScript 是插在文档中的,那就不必使用该方法。
现在我们已经拥有足够的知识来做以下这个很多网站都有的弹出式更新通知了。
<script language="JavaScript"> <!-- var whatsNew = open('','_blank','top=50,left=50,width=200,height=300,' + 'menubar=no,toolbar=no,directories=no,location=no,' + 'status=no,resizable=no,scrollbars=yes'); whatsNew.document.write('<center><b>更新通知</b></center>'); whatsNew.document.write('<p>最后更新日期:00.08.01');
whatsNew.document.write('<p>00.08.01:增加了“我的最爱”栏目。'); whatsNew.document.write('<p align="right">' + '<a href="javascript:self.close()">关闭窗口</a>'); whatsNew.document.close(); --> </script>
当然也可以先写好一个 HTML 文件,在 open() 方法中直接 load 这个文件。
(7)anchors[]; links[]; Link
anchors[]; links[]; Link 连接对象。
用法:document.anchors[[x]]; document.links[[x]]; <anchorId>; <linkId>
document.anchors 是一个数组,包含了文档中所有锚标记(包含 name 属性的<a>标记),按照在文档中的次序,从 0 开始给每个锚标记定义了一个下标。
document.links 也是一个数组,包含了文档中所有连接标记(包含 href 属性的<a>标记和<map>标记段里的<area>标记),按照在文档中的次序,从 0 开始给每个连接标记定义了一个下标。 如果一个<a>标记既有 name 属性,又有 href 属性,则它既是一个 Anchor 对象,又是一个 Link 对象。 在 IE 中,如果在<a>标记中添加“id="..."”属性,则这个<a>对象被赋予一个标识(ID),调用这个对象的时候只需要使用“<id>”就行了。很多文档部件都可以用这个方法来赋予 ID,但要注意不能有两个 ID 相同。
anchors 和 links 作为数组,有数组的属性和方法。单个 Anchor 对象没有属性;单个 Link 对象的属性见下。
属性
protocol; hostname; port; host; pathname; hash; search; href 与 location 对象相同。 target 返回/指定连接的目标窗口(字符串),与<a>标记里的 target 属性是一样的。
更多信息请查看 java进阶网 http://www.javady.com
发表评论
-
Java程序员从笨鸟到菜鸟之(三十三)大话设计模式之单例模式
2012-04-23 22:26 1025单例模式属于对象创建型模式,其意图是保证一个类仅有 ... -
Java程序员从笨鸟到菜鸟之(三十二)大话设计模式之设计模式分类和三种工厂模式
2012-04-23 22:25 1087设计模式分类 首先先简单说一下设计模式的分类设计模式可 ... -
Java程序员从笨鸟到菜鸟之(三十一)大话设计模式之设计模式遵循的七大原则
2012-04-23 22:24 708最近几年来,人们踊跃的提倡和使用设计模式,其根 ... -
Java程序员从笨鸟到菜鸟之(二十九)javascript对象的创建和继承实现
2012-04-23 22:23 649javascript对象的创建 JavaScri ... -
Java程序员从笨鸟到菜鸟之(二十四)Xml基础详解和DTD验证
2012-04-22 15:20 808Xml基础详解 Xml:可扩展标记语言 (Extens ... -
Java程序员从笨鸟到菜鸟之(二十三)常见乱码解决以及javaBean基础知识
2012-04-22 15:20 1170乱码问题应该是做javaWeb开发人员都遇到过的问题吧 ... -
Java程序员从笨鸟到菜鸟之(二十二)华山论session和cookie机制
2012-04-22 15:19 932会话(Session)跟踪是Web程序中常用的技术,用 ... -
Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解
2012-04-22 15:18 9391、Filter工作原理( ... -
Java程序员从笨鸟到菜鸟之(二十)jsp自定义标签
2012-04-22 15:17 763一、基本概念 1、标签(Tag) 标签是一种XML元 ... -
Java程序员从笨鸟到菜鸟之(十九)EL表达式和JSTL
2012-04-21 12:55 1031一:EL表达式: 1.定义:为了计算和输出存储在标志位 ... -
Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令
2012-04-21 12:54 794Jsp,通常的被大家认为是做网页的前台界面,我刚学习的时 ... -
Java程序员从笨鸟到菜鸟之(十六)CSS基础积累总结(上)
2012-04-21 12:52 748一:CSS的工作原理 1. ... -
java程序员从笨鸟到菜鸟之(七)一—java数据库操作
2012-04-19 22:48 1349更多信息请查看 java进 ... -
Java程序员从笨鸟到菜鸟之(六)I/O流操作
2012-04-19 22:47 1601在软件开发中,数 ... -
Java程序员从笨鸟到菜鸟之(十)枚举,泛型详解
2012-04-19 22:48 1089一:首先从枚举开始 ... -
Java程序员从笨鸟到菜鸟之(九)——数据库有关知识补充(事务、视图、索引、存储过程)
2012-04-19 22:48 1020一:事务 首先看一下什么是事务: 通俗的理解,事务 ... -
Java程序员从笨鸟到菜鸟之(八)反射和代理机制
2012-04-19 22:48 776反射和代理机制是 ... -
java程序员从笨鸟到菜鸟之(七)一—java数据库操作
2012-04-18 21:14 0数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么 ... -
Java程序员从笨鸟到菜鸟之(六)I/O流操作
2012-04-18 21:13 0在软件开发中,数据流和数据库操作占据了一个很重要的位置 ... -
Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
2012-04-18 00:12 751写在前面:由于前天 ...
相关推荐
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
99-青海大学大数据中心建设分享.pptx
5G通信行业、网络优化、通信工程建设资料。
SA语音回落与切换流程冲突解决.pdf 计费模式错误导致SA语音承载建立失败,pdf BSF网元bug导致SA用户VOLTE业务故障,pdf SA基站SCTP偶联IP配置不规范导致切换失败的问题处理,pdf 第一医院SA+NSA双模基站方案保障5G查房车应用,pdf SA未配置互操作场景下终端语音业务研究案例,pdf SA站点天馈隔离度问题导致上行速率不及预期,pdf SA组网下微信小视频卡顿影响感知案例,pdf 基于八步法定位SA掉线问题.pdf SA站点测试宏微切换异常事件,pdf
5G通信行业、网络优化、通信工程建设资料。
1、WhatsApp插件,可轻松实现wordpress后台设置,前台悬浮显示; 2、无缝集成:该插件将WordPress站点与WhatsApp无缝集成; 3、多人员支持:支持显示多个WhatsApp账户,让用户根据需求或偏好选择联系不同的团队成员 4、群组邀请:允许邀请用户加入特定的WhatsApp支持群组,便于群体咨询、公告发布或集体答疑。 5、响应式设计:插件具备响应式布局,确保在各种屏幕尺寸和设备类型上均能良好呈现并顺畅使用。 6、WooCommerce产品查询集成:针对电商网站,支持与WooCommerce产品查询功能结合,方便用户就具体商品提问。 7、带声音的自动弹窗:可设置带有声音提示的自动弹出窗口,提醒用户支持服务的存在 8、定制欢迎消息:设置个性化欢迎信息,向用户传递品牌关怀或引导其使用支持服务。 9、移动端与桌面端开关控制:可根据需要独立开启或关闭移动端或桌面端上的插件功能 10、GDPR合规:遵循欧盟GDPR数据保护法规,保障用户隐私及数据安全。
目前随着电子领域的快速发展,芯片也已经成为日常生活中不可或缺的一部分。随着市场对芯片的需求不断增大,裸芯片表面缺陷检测任务的压力也越来越大。裸芯片表面的缺陷检测不仅能保证芯片成品的质量,而且有着统计缺陷数量,反馈给生产前道工序的重要意义,但是目前许多生产线对于裸芯片表面依旧采用人工目检的方法进行缺陷检测,不仅实时性差,耗时长,而且结果会受到检测人员主观因素的影响。 目前国内外的芯片表面缺陷检测设备不仅价格昂贵,而且功能比较单一,因此本文提出了一种基于深度学习的裸芯片表面缺陷检测算法,具有高效率,实时性好的特点,与传统人工目检的方式相比具有一定的优势
基于SpringBoot的“大学生社团活动平台”的设计与实现基于SpringBoot的“大学生社团活动平台”的设计与实现基于SpringBoot的“大学生社团活动平台”的设计与实现基于SpringBoot的“大学生社团活动平台”的设计与实现基于SpringBoot的“大学生社团活动平台”的设计与实现基于SpringBoot的“大学生社团活动平台”的设计与实现基于SpringBoot的“大学生社团活动平台”的设计与实现基于SpringBoot的“大学生社团活动平台”的设计与实现基于SpringBoot的“大学生社团活动平台”的设计与实现
英飞凌官方ADS库1.9.20版
汇编语言——贪吃蛇游戏 GREEDY_SNAKE 是基于8086 汇编语言开发的,汇编语言风格是采用《汇编语言》第二版 王爽著; G_Snake.asm 本贪吃蛇游戏 实现了随机出现食物、统计分数、显示小蛇运动方向、响应键盘中断、指定方向自动移动、游戏结束恢复9h键盘中断和正常退出。 文件说明: 1. 安装DOSBOX:运行DOSBox0.74-win32-installer.exe即可安装; 2. 将Greedy_Snake clone到本地任意盘,eg:d:\Greedy_Snake - mount d:\Greedy_Snake 到一个指定虚拟盘符: - `mount k d:\Greedy_Snake` (why is k? because i like this charactor) 3. 运行G_Snake - 在DOSBOX的DOS提示符下键入: - `Z:\>K:`(回车) - `K:\>cd G_Snake`(回车) - 使用masm 5.0工具编译、链接、运行.asm源程序 - MASM.EXE、LINK.EXE、d
5G通信行业、网络优化、通信工程建设资料
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
5G通信行业、网络优化、通信工程建设资料
参考资料-人工智能对劳动力市场的影响机制研究.pdf
99-数据开放平台技术实现方案.pptx
199-IBM数据治理新主张-数据治理及元数据管理.pptx
【资源说明】【毕业设计】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!
自动驾驶中的数据闭环链路的建立,数据驱动算法
5G通信、网络优化与通信建设
社会治理大数据平台建设项目的总体目标是以项目建设为契机,以“一个网络体系、一套应用系统、三个基础库”为依托,充分利用大数据挖掘、云计算等先进技术,有效整合各方信息资源,实现“人、地、物、事、组织”的网格化管理,从而带动XXX社会管理源头治理体系、动态协调机制、应急管理体制建设,实现XXX社会管理“精确化”、社会服务“人性化”,提升社会服务效能,并为XXX实现智慧城市奠定信息化基础。 主要建设目标是为政府社会管理良性有序运行提供基本手段和保证,促进政府对社会系统的组成部分、社会生活的不同领域以及社会发展的各个环节进行组织、协调、服务、监督和控制,整合政府各部门资源,实现统一运维管理,并建立安全和运维保障体系。科学划分网格单元,优化网格资源配置,构筑“区—街道—社区—网格”的四级管理架构,以社会管理、基层服务为核心,实现管理服务工作的全员化、精细化、信息化、实效化。