JavaScript学习—对象与数组
JavaScript内部对象
内部对象分为动态对象和静态对象,引用动态对象的属性和方法,必须使用new关键字来创建一个对象实列,然后才能使用“对象实例名。成员。引用静态对象的属性和方法时,不需要NEW关键字,只需要对象名.成员
Object对象
1. 创建对象:
obj = new object([value])
2.Object对象属性
(1) prototype属性
objectName.prototype
可以提供对象的类的一组基本功能。
function array_max(){
var i ,max =this[0];
for(i=1;i<this.length;i++){
if max<this[i];
max = this[i];
}
return max;
}
array.prototype.max =array_max;
var x = new Array(1,2,3,4,5,6);
var y = x.max();
(2)constructor属性
表示创建对象的函数
3. Object对象的方法
(1)toLocaleString()方法
返回一个日期,该日期使用当前区域设置并已被转换为字符串。
该方法只用来显示结果给用户看;不要在脚本中用来做基本计算,因为返回的结果是随机器不同而不同的。
(2)toString()方法
返回对象的字符串。
objectname.toString([radix])
(3)valueOf()方法
valueOf()方法返回指定对象的原始值。
object.valueOf()
String对象
动态对象,需创建对象实例后才能引用该对象的属性和方法,主要用于处理货格式化文本字符串以及确定和定位字符串中的子字符串。
1.创建String对象
var newstr = new String("欢迎使用JavaScript脚本")
2.对象属性
(1)length属性
返回字符串长度
(2)constructor属性
用于对当前对象的函数的引用
(3)prototype属性
可以为对象添加属性和方法
object.prototype.name = value
Date 对象
主要负责处理与日期和时间有关的数据信息。在使用之前应创建对象。
dataObject = new Date()
dataObject = new Date(dateVal)
dataObject = new Date(year,month,date[,hours[,minutes[,seconds[,ms]]]])
- 属性
(1)constructor属性,判断是否为日期对象
(2) prototype属性,自定义记录当前日期是本周的周几。 - 方法
包括get系列、set系列、tostring系列
event对象
描述JavaScript的事件,主要作用与IE和NN4以后的各个浏览器版本中。event代表事件的状态
- 在IE中引用event对象
window.event
2、在W3C中引用event对象
在多数情况下,必须明确地将event对象作为一个参数传递到事件处理函数中。
3、event对象属性
(1)altLeft属性
该属性设置或获取左Alt键的状态。检索左Alt键的当前状态,返回值表示关闭,false表示不关闭。
[window.]event.altLeft
由于altLeft属性是Boolean值,在if语句中根据返回值不同进行不同操作
(2)ctrlLeft属性
设置或获取左Ctrl键的状态
(3)shiftLeft属性
(4)button属性
设置或获取事件发生时用户所按的鼠标键
[window.]event.button
button属性仅用于onmousedown、onmouseup、onmousemove事件,对于其他事件,无论鼠标状态如何,都返回0.
(5)clientX属性
获取鼠标在浏览器窗口中X坐标,是一个只读属性
[window.]event.clientX
(6)clientY属性
设计一个文字跟随鼠标移动的实例
<!doctype html>
<html>
<head>
<meta http-equiv = "Content-Type" content="text/html;charset = gb2312">
<title>跟随鼠标移动的文字</title>
<style>
.move_out{position: relative;cursor: hand;font-family:"华文行楷"}
</style>
</head>
<script language="javascript">
var move_out =false; //定义变量,值为false
var x,y,z; //定义变量
function move(){ //创建函数
if(event.button == move_out){ //判断当前鼠标是否是左键按下状态
z.style.pixelLeft=temporarily1+event.clientX - x; //获取当前鼠标的位置
z.style.pixelTop = temporarily2+event.clientY-y; //获取当前鼠标的位置
return false;
}
}
function down(){ //创建自定义函数,实现文字的移动
if(event.srcElement.className=="move_out"){ //应用srcElement属性获取当前事件的对象
move_out=true;
z=event.srcElement;
temporarily1 = z.style.pixelLeft;
temporarily2 = z.style.pixelTop;
x=event.clientX; //获取鼠标在窗口的X位置
y=event.clientY; //获取鼠标在窗口的Y位置
document.onmousemove=move;
}
else{
move_out = false;
}
}
document.onmousedown =down;
</script>
<body>
<font color="#BC0D10" size="10" class="move_out">吉林省文明科技</font>
</body>
</html>
(7) X属性
设置或获取鼠标指针位置相对于CSS属性中有position 属性的上级元素的X轴坐标。
(8)Y属性
(9)cancelBubble属性
(10)srcElement属性