
一 Arrays
array数组对象
数组对象使用单独的变量名来存储一系列的值.
数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值.数组中的每个元素都有自己的id,以便它可以很容易地被访问.
创建数组,并赋值:
var mycars=new Array("Saab","Volvo","BMW");
以上通过new Array()生成mycars数组对象,并赋予初始值.
访问数组:
mycars[0],mycars[1],,,,,
索引号码从0开始,第一个元素的索引号码是0.
访问数组以外的索引,返回值underfined.
比如:mycars[3]
二 其他方式创建数组
可以先声明一个数组,告诉它将存储的元素数量.然后再添加元素.
var courses=new Array(3);
courses[0]="HTML";
courses[1]="CSS";
courses[2]="JS";
数组是一种特殊类型的对象.
数组使用索引来访问其元素.而一个对象使用属性来访问其成员.
javascript数组是动态的,所以可以声明一个数组.不给Array()构造函数传递任何参数.然后可以动态添加元素.
var courses=new Array();
courses[0]="HTML";
courses[1]="CSS";
courses[2]="JS";
courses[3]="C++";
你可以添加任意数量的元素.
字面量语法创建数组
为了更大的简单性,可读性和执行速度,你可以使用数组字面量语法来声明数组.
var courses=["HTML","CSS","JS","C++"];
这种声明方式和使用new Array()方式创建的数组相同.
你可以通过数字索引访问和修改数组的值.推荐使用字面量语法创建数组.
三 数组属性和方法
length属性
数组的length属性返回它的元素的数量.
var courses=["HTML","CSS","JS"];
document.write(courses.lenght);
//->3
数组合并
javascript的concat()方法允许你连接数组并创建一个全新的数组.
var c1=["HTML","CSS"];
var c2=["JS","Python"];
var courses=c1.concat(c2);
courses数组包含4个元素:HTML,CSS,JS,Python
concat()操作不会影响c1和c2数组.它会将所产生的连接作为新数组返回.
四 关联数组
许多编程语言支持具有命名索引的数组(文本而不是数字),称为关联数组.但是javascript不支持
不过,仍然可以使用命名数组语法,这将产生一个对象.
var person=[];
person["name"]="Loen";
person["age"]="28";
document.write(person["age"]);
//->28
现在person被视为一个对象,而不是一个数组.
命名索引"name"和"age"成为person对象的属性.
当person数组被视为对象时,标准数组方法和属性将产生不正确的结果.例如:person.length将返回0.
javascript不支持使用名称索引数组.
在javascript中,数组总是使用数字编号的索引.
当你希望索引为字符串(文本)时,最好使用对象.
当你希望索引为数字时,使用数组
如果使用名称索引,javascript将会将数组重新定义为标准对象.
五 Math对象
Math(算数)对象的作用是:执行普遍的算数任务.
Math对象提供多种算数值类型和函数.无需在使用这个对象之前对它进行定义.
Math对象属性:
E 返回算数常量e,即自然对数的底数(约等于2.718)
LN2 返回2的自然对数(约等于0.693)
LN10 返回10的自然对数(约等于2.302)
LOG2E 返回以2为底的e的对数(约等于1.414)
LOG10E 返回以10为底的e的对数(约等于0.434)
PI 返回圆周率(约等于3.1415926)
SQRT1_2 返回2的平方根的倒数(约等于0.707)
SQRT2 返回2的平方根(约等于1.414)
Math没有构造函数.没有必要先创建一个Math对象.
Math对象方法
Math对象包含许多对于计算的方法:
abs(x) 返回x的绝对值
acos(x) 返回x的反余弦值
asin(x) 返回x的反正弦值
atan(x) 返回x的反正切值(介于-PI/2~PI/2弧度之间)
atan2(y,x) 返回从x轴到点(x,y)的角度(介于-PI/2~PI/2之间)
ceil(x) 进行上舍入
floor(x) 进行下舍入
cos(x) 返回数的余弦值
exp(x) 返回E的x次幂的指数
log(x) 返回数的自然对数(底为e)
max(x,y,z....) 返回最大值
min(x,y,z.....) 返回最小值
pow(x,y) 返回x的y次幂
random() 返回0~1之间的随机数.
round(x) 把数四舍五入为最接近的整数
sin(x) 返回数的正弦值
sqrt(x) 返回数的平方根
tan(x) 返回角的正切
创建一个程序,让用户输入一个数字并通过提醒显示平方根
var n=prompt("请输入一个数字:","");
var answer=Math.sqrt(n);
alert("数字"+n+"的平方根是:"+answer);
效果如下:


六 时间对象
setInterval
setInterval()方法调用函数或以指定的间隔(单位为毫秒)来计算表达式
它将持续调用该函数,直到调用clearInterval()或关闭窗口
function myAlert(){
alert("19954601618"); }
setInterval(myAlert,2000); // 每2秒执行一次myAlert
将函数的名称传给setInterval方法时,不带圆括号
效果如下:

Date对象
日期对象用于处理日期和时间.
日期由年 月 日 时 分 秒和毫秒组成.
使用new Date(),将创建一个存储当前日期和时间的日期对象.
var d=new Date();
// d存储了当前的日期和时间
初始化日期的其他方法允许从指定的日期和时间创建新的日期对象
new Date(milliseconds) // 毫秒
new Date(dateString) //日期字符串
new Date(year,month,day,hours,minutes,seconds,milliseconds) // 年 月 日 时 分 秒 毫秒
javascript日期以1970年01月01日00:00:00世界时(UTC)计算.一天包含86400000毫秒
var d1=new Date(86400000);
alert(d1);
效果如下:

var d3=new Date(88,5,11,11,42,0,0)
alert(d3);
效果如下:

javascript计数从0到11的月份.1月就是0,12月就是11.
所以上边的88就是1988年,5就是六月 June,11日,11点42分0秒0毫秒
日期对象时静态的,而不是动态的.计算机时间正在往前走,但是日期对象一旦创建,日期就不会改变.
Date 方法
getDate() 从Date对象返回一个月中的某一天(1-31)
getDay() 从Date对象返回一周中的某一天(0-6)
getFullYear() 从Date对象以四位数字返回年份.
getHours() 返回Date对象的小时(0-23)
下面的程序,每秒打印一次当前浏览器的时间.
function printTime(){
var d=new Date();
var hours=d.getHours();
var mins=d.getMinutes();
var secs=d.getSeconds();
document.body.innerHTML=hours+":"+mins+":"+secs; }
setInterval(printTime,1000);
效果如下:

我们定义了一个printTime函数,通过new Date()生成当前时间的对象,然后通过getHours(),getMinutes(),getSeconds()获取当前的时,分,秒.并打印出来... 通过setInterval()每隔1秒执行一次printTime函数.
innerHTML属性设置或返回元素的HTML内容.在我们的例子中,我们正在改变文档体的HTML内容,这将每秒覆盖原来的内容,而不是重复打印到屏幕.
每天进步一点点!还剩下最后一节javascript课程了,加油!