2、javascript(2)

对象和事件是JavaScript的两个核心。

JavaScript中可以不声明变量直接赋值。不过先声明变量是一个良好的编程习惯。
“+”不只是数字的相加,应该理解为字符串的连接符号;
当有很多种选项的时候,switch比if else使用更方便。

JavaScript 弹出框
警告(alert)
确认(confirm) var s= confirm('ok?'); //true|false;
提问(prompt)  var ss= prompt('你的名字?'default); //skx

函数 function fun();   
执行  fun();|var x = fun();
事件调用   onclick ='fun()'  //()就会执行

事件:
onabort 图片下载被打断时
onblur 元素失去焦点时
onchange 框内容改变时
onclick 鼠标点击一个对象时
ondblclick 鼠标双击一个对象时

onerror 当加载文档或图片时发生错误时
onfocus 当元素获取焦点时
onkeydown 按下键盘按键时
onkeypress 按下或按住键盘按键时
onkeyup 放开键盘按键时
onload 页面或图片加载完成时
onmousedown 鼠标被按下时
onmousemove 鼠标被移动时
onmouseout 鼠标离开元素时
onmouseover 鼠标经过元素时
onmouseup 释放鼠标按键时
onreset 重新点击鼠标按键时 
onresize 当窗口或框架被重新定义尺寸时
onselect 文本被选择时
onsubmit 点击提交按钮时
onunload  用户离开页面时

”\”表示本行未完
document.write("Hello \
  World!")

JavaScript对象有:基本对象、全局对象、文档对象。

基本对象 
(1)String 字符串对象
属性  length
方法  charAt(),  charCodeAt() , fromCharCode(),  indexOf(), lastIndexOf(),split() , substring() , substr(), toLowerCase() , toUpperCase();
(2)Array 数组对象
属性  length
方法  join() ,reverse(),slice() , sort() ;
(3)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 对象
var d = new Date(99, 10, 1);  //99 年 10 月 1 日
var d = new Date('Oct 1, 1999'); //99 年 10 月 1 日
方法
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() 返回日期对象采用的时区与格林威治时间所差的分钟数。
toLocaleString()
toGMTString()返回一个字符串,描述日期对象所指的日期,用GMT 格式。
toUTCString()返回一个字符串,描述日期对象所指的日期,用UTC 格式。
parse() Date.parse(<日期对象>);返回该日期对象的内部表达方式(毫秒)。

全局对象
eval() 把括号内的字符串当作标准语句或表达式来运行。
isNaN() 如果括号内的值是“NaN(不是数字)”,则返回 true 否则返回 false。
parseInt()返回把括号内的内容转换成整数之后的值。如果括号内是字符串,则字符串开头的数字部分被转换成整数,如果以字母开头,则返回“NaN”。
parseFloat() 返回把括号内的字符串转换成浮点数之后的值,字符串开头的数字部分被转换成浮点数,如果以字母开头,则返回“NaN”。
toString()把对象转换成字符串。如果在括号中指定一个数值,则转换过程中所有数值转换成特定进制。
escape() 返回括号中的字符串经过编码后的新字符串。该编码应用于 URL,也就是把空格写成“%20”这种格式。“+”不被编码,如果要“+”也被编码,请用:escape('...', 1)。
unescape() 是 escape() 的反过程。解编括号中字符串成为一般字符串。
只对转义字符编码

文档对象
“大”对象:window, document, location, navigator, screen, history 等。



属性  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>”。 在某些实际应用中,window.close() and self.close() 是不能关闭非弹出窗口;
parent 返回窗口所属的框架页对象。
top 返回占据整个浏览器窗口的最顶端的框架页对象。
history 历史对象,见下。
location 地址对象,见下。
document 文档对象,见下。
open() 打开一个窗口。  用法:open(<URL字符串>, <窗口名称字符串>, <参数字符串>);    <URL字符串>:描述所打开的窗口打开哪一个网页。如果留空(''),则不打开任何网页。   <窗口名称字符串>:描述被打开的窗口的名称(window.name),可以使用'_top'、'_blank'等内建名称。这里的名称跟“<a href="..." target="...">”里的“target”属性是一样的。
open('/e5/manager/tenant/create');
<参数字符串>:描述被打开的窗口的样式。如果只需要打开一个普通窗口,该字符串留空(''),如果要指定样式,就在字符串里写上一到多个参数,参数之间用逗号隔开。 例:打开一个 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”变量就可以控制窗口了。

setTimeout()和setInterval()的使用
  这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript。
两者的最大区别就是,setTimeout方法不会每隔5秒钟就执行一次showTime函数,它是在每次调用setTimeout后过5秒钟再去执行showTime函数。这意味着如果showTime函数的主体部分需要2秒钟执行完,那么整个函数则要每7秒钟才执行一次。而setInterval却没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行一次那个函数。
setTimeout("showTime()", 5000);   clearTimeout(test )
setInterval("showTime()", 5000);  clearInterval(test);

(4)history
back() 后退,跟按下“后退”键是等效的。
forward() 前进,跟按下“前进”键是等效的。
go() 用法:history.go(x);在历史的范围内去到指定的一个地址。如果 x < 0,则后退 x 个地址,如果 x > 0,则前进 x 个地址,如果 x == 0,则刷新现在打开的网页。history.go(0) 跟 location.reload() 是等效的

(5)location 
location 地址对象描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,只需要使用“location”就行了;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。
window.location.href = url;
属性  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>的内容。
属性  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() 方法来保证所做的更改能够显示出来。

猜你喜欢

转载自onway417.iteye.com/blog/2187972