Array对象
1. 创建 Array 对象的语法
```
1. var a = new Array();
示例:
var names1 = new Array();
names1[0] = "aa";
names1[1] = "bb";
names1[2] = "cc";
names1[3] = "dd";
2. var a = new Array(元素个数);
示例:
var names2 = new Array(3);
names2[0] = "aa";
names2[1] = "bb";
names2[2] = "cc";
3. var a = new Array(element0, element1, ..., elementn);
示例:
var names3 = new Array("aa","bb","cc");
4. var a = [element0, element1, ..., elementn];
示例:
var names4 = ["aa","bb","cc"];
```
2. Array 对象属性
- length:设置或返回数组中元素的数目。
prototype:向对象添加属性和方法。
示例:Array.prototype.print = function(){ console.log("此数组长度为:"+this.length); }
3. Array对象方法
1. concat():
concat():连接两个或更多的数组,并返回结果。
把 concat() 中的参数连接到数组 a 中:
var a = [1,2,3]; document.write(a.concat(4,5));
创建了两个数组,然后使用 concat() 把它们连接起来:
var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" var arr2 = new Array(3) arr2[0] = "James" arr2[1] = "Adrew" arr2[2] = "Martin" document.write(arr.concat(arr2))
2. join()
- 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
示例:
var b=[1,2,3,4,5,6]; var str=b.join(","); console.log(str);
3.pop()及shift()
- pop():删除并返回数组的最后一个元素
- shift():删除并返回数组的第一个元素
4. push()及unshift()。
- push():向数组的末尾添加一个或更多元素,并返回新的长度。
- unshift():向数组的开头添加一个或更多元素,并返回新的长度。
示例
var result = names4.shift(); console.log("删去首元素"+result+"后,新的首元素为"+names4[0]); result = names4.pop(); console.log("删去尾元素"+result+"后,新的尾元素为"+names4[names4.length-1]);
5.reverse()
- reverse():颠倒数组中元素的顺序。
示例:
names1.reverse(); for(var i in names1) console.log(names1[i]);
6. slice()
slice():从某个已有的数组返回选定的元素
arrayObject.slice(start,end)
- start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
- end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
示例:
var newnames1 = names1.slice(1,3); for(var i in newnames1) console.log(newnames1[i]);
7. splice()
splice():向/从数组中添加/删除项目,然后返回被删除的项目。
arrayObject.splice(index,howmany,item1,.....,itemX)
- index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
- howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
- item1, …, itemX 可选。向数组添加的新项目。
示例:
创建一个新数组,并向其添加一个元素:
<script type="text/javascript"> var arr = new Array(6); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; arr[3] = "James"; arr[4] = "Adrew"; arr[5] = "Martin"; document.write(arr + "<br />"); arr.splice(2,0,"William"); document.write(arr + "<br />"); </script>
输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:
<script type="text/javascript"> var arr = new Array(6); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; arr[3] = "James"; arr[4] = "Adrew"; arr[5] = "Martin"; document.write(arr + "<br />"); arr.splice(2,1,"William"); document.write(arr); </script>
输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin
Event对象
Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
- Event对象事件标签属性
- onchange: 用户改变域的内容
- onclick:鼠标点击某个对象
- onfocus、onblur: 元素获得焦点、失去焦点时触发
- onkeydown、onkeyup: 某个键盘的键被按下、被松开时触发
- onkeypress: 某个键盘的键被按下或按住
- onload、 onunload: 某个页面或图像被完成“加载”、用户退出页面
- onmousedown、onmouseup: 某个鼠标按键被按下、被松开时触发
- onmousemove: 鼠标被移动
- onmouseout: 鼠标从某元素移开
- onmouseover: 鼠标被移到某元素之上
示例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script> function text(){ console.log("哈哈") } function picture(){ document.getElementById("pic").src = "img/png-1.png"; } function sub(){ return true; } </script> </head> <body onload="picture()"> onclick事件<br /> <div onclick="text()">凤凰</div> <br />onchange事件<br /> <select onchange="text()"> <option>--请选择--</option> <option>一年级</option> <option>二年级</option> </select> <br />onfocus\onblur事件<br /> <input onfocus="text()" /> <input onblur="text()" /> <br />onmousemove事件<br /> <div onmousemove="text()" style="width: 200px;height: 200px;border: 1px solid lightpink;" > 按钮 </div> <br />onmouseover/onmouseout事件<br /> <div onmouseover="text()" style="width: 120px;height: 40px;border: 1px solid cadetblue;">onmouseover</div> <div onmouseout="text()" style="width: 120px;height: 40px;border: 1px solid crimson;">onmouseout</div> <br />onload事件<br /> <!--onload事件一般放在body标签中--> <img id="pic"/> <br />onkeydown/onkeyup事件<br /> <input onkeydown="text()" placeholder="onkeydown"/> <input onkeyup="text()" placeholder="onkeyup"/> <br />onkeypress事件<br /> <!--与onkeydown区别:在有的电脑上按空格键才有用--> <input onkeypress="text()" placeholder="onkeypress"/> <br />onsubmit事件<br /> <!--submit需要返回一个值--> <form action="http://www.baidu.com/s" onsubmit="return sub()"> <input name="wd" /><br /> <input type="submit" value="百度一下" /> <input type="reset" value="重置"/> </form> </body> </html>
Date对象
创建 Date 对象的语法:
new Date();
Data对象方法
- getFullYear()、getMonth()、getDate()、getDay()
从 Date 对象中分别返回四位数字表示的年份、月份 (0 ~ 11)、一个月中的某一天 (1 ~ 31)、一周中的某一天 (0 ~ 6)
注意:getMonth()得到的月份比实际月份小1,因为月份(0-11) getHours()、getMinutes()、getSeconds()、getMilliseconds()
返回 Date 对象的小时 (0 ~ 23)、分钟 (0 ~ 59)、秒数 (0 ~ 59)、毫秒(0 ~ 999)。如何在网页中显示当前时间
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script> function time(){ var date = new Date(); var year = date.getFullYear(); var month = date.getMonth()+1; var day = date.getDate(); var hour = date.getHours(); var min = date.getMinutes(); var second = date.getSeconds(); var week = date.getDay(); month = month<10?"0"+month:month; day = day<10?"0"+day:day; hour = hour<10?"0"+hour:hour; min = min<10?"0"+min:min; second = second<10?"0"+second:second; week = "星期"+"日一二三四五六".charAt(week); // switch(week){ // case 0 :week="星期日";break; // case 1 :week="星期一";break; // case 2 :week="星期二";break; // case 3 :week="星期三";break; // case 4 :week="星期四";break; // case 5 :week="星期五";break; // case 6 :week="星期六";break; // default:console.log("错误!");break; // } var currentTime = year+"-"+month+"-"+day+" "+hour+":"+min+":"+second+" "+week; document.getElementById("Time").innerHTML = currentTime; } setInterval("time()",1000); </script> </head> <body onload = "time()"> <span id="Time"></span> </body> </html>