JavaScript脚本语言基础(三)

时间:2022-07-12 12:12:41

导读:

数学对象(Math)

数组对象(Array)

字符串对象(String)

日期对象(Date)

js对象是属性和方法的集合。JavaScript中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。

  • 对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;
  • 对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;

JavaScript提供多个内建对象,比如 String、Date、Array 等等,

1、数学对象(Math) [返回]

JavaScript数学对象的作用是执行常见的算数任务,数学对象对象提供多种算数值类型和函数。

函数 备注
PI 圆周率pai的值
E 返回欧拉常数e的值
LN10 10的自然对数的值
LN2 2的自然对数的值
LOG2E 基数为2的e的对数的值
LOG10E 基数为10的e的对数的值
log(value) 基数为e的value的对数的值,是exp(value)的反方法
SQRT1_2 返回0.5的平方根
SQRT2 返回2的平方根
sqrt(number) 计算number平方根
pow(m,n) 计算m的n次方
cos(number) 计算余弦值
acos(number) 计算反余弦值
sin(number) 计算正弦值
asin(number) 计算反正弦值
tan(number) 计算正切值
atan(number) 计算反正切值
atan2(x,y) 根据指定的坐标返回一个弧度值
ceil(number) 返回大于或等于number的整数
floor(number) 返回小于或等于number的整数
round(number) 取整(四舍五入)
exp(value) 计算以e为基数的value次方的值
abs(number) 计算number的绝对值
max(num1,num2,…) 返回两个或多个参数中的最大值
min(num1,num2,…) 返回两个或多个参数中的最小值
random() 生成0到1的随机数[0,1).生成n到m之间的随机数n+(m-n)*Math.random()

*注:在JavaScript脚本中使用数学对象时,所有函数前应加“Math.”数学类引用,如“Math.random()”。*

数学对象用法如下:

#Code 301:数学对象函数及属性案例

银河网络统计学教程

JavaScript数学对象

函数 备注
PI 圆周率pai的值
E 返回欧拉常数e的值
LN10 10的自然对数的值
LN2 2的自然对数的值
LOG2E 基数为2的e的对数的值
LOG10E 基数为10的e的对数的值
SQRT1_2 返回0.5的平方根
SQRT2 返回2的平方根
random() 生成0到1的随机数[0,1)、n到m之间的随机数n+(m-n)*Math.random()
log(10) 基数为e的value的对数的值,是exp(value)的反方法
sqrt(100) 计算number平方根
pow(4,3) 计算m的n次方
cos(3.14) 计算余弦值
acos(0.5) 计算反余弦值(x必须是-1.0- 1.0之间的数)
sin(3.14/2) 计算正弦值
asin(0.5) 计算反正弦值
tan(3) 计算正切值
atan(0.8) 计算反正切值
atan2(5,5) 根据指定的坐标返回一个弧度值
ceil(45.23) 返回大于或等于x的整数
floor(45.85) 返回小于或等于x的整数
round(45.67) 取整(四舍五入)
exp(2.5) 计算以e为基数的x次方的值
abs(-12) 计算x的绝对值
max(12,23,45,32) 返回两个或多个参数中的最大值
min(12,23,45,32) 返回两个或多个参数中的最小值

运行代码

JavaScript语法练习 参见本站提供的银河统计JavaScript脚本测试工具W3School JavaScript在线教程

2、数组对象(Array) [返回]

数组简而言之就是一组有序的数据集合,其索引为从0开始且自然增长的整数,其元素值可以是任何JS数据。并且包含一个名为length的属性,该属性表示数组元素的个数。

(1) 数组定义的方式

I、使用构造函数:

var a = new Array();
var b = new Array(10);
var c = new Array("first", "second", "third");

II、数组直接量:

var d = ["first", "second", "third"];

数组在任何计算机软件中担任大数据处理的任务,具有占内存少、运算速度快的特点。掌握JS数组对于网上统计数据处理致关重要。在银河网络统计学平台中,一般使用JS数组直接量方式表达和处理统计数据。

(2) 数组的创建

var arr1 = ["first", "second", "third"]; //一维字符数组
var arr2 = [23,45,67,12,33]; //一维数值数组
var arr3 = [[23,45,67],[21,12,33],[41,15,36]]; //二维数值数组(3x3)

(3) 数组的元素的引用和修改

var oValue = arr1[1]; //引用:将数组arr1第2个元素second赋值给变量oValue
arr2[0] = 20; //修改:将数组arr2第1个元素23改为20

注:数组是一组有序的数据集合,其索引从0开始。

(4) 数组元素的引用和修改

var oValue = arr1[1]; //引用:将数组arr1第2个元素second赋值给变量oValue
arr2[0] = 20; //修改:将数组arr2第1个元素23改为20

(5) 数组添加和删除

var arr = [23,45,67,12,33];
arr.push(100,200) //将一个或多个新元素添加到数组结尾
arr = [23,45,67,12,33];
arr.unshift(100,200) //将一个或多个新元素添加到数组开始,数组中的元素自动后移
arr = [23,45,67,12,33];
arr.splice(2,0,100,200) //将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移
arr = [23,45,67,12,33];
arr.splice(2,1,100,200) //将二个新元素插入到数组的指定位置2,并从指定位置开始删除一个元素

注:arr.splice(index,howmany,item1,item2,...)中,index:指定新元素插入的位置;howmany:要删除的项目数量。如果设置为 0,则不会删除项目;item1,item2,...:要插入的新元素项。

(6) 数组的截取、拷贝和合并

var arr;
var arr1 = [2,4,7,1,3];
var arr2 = [3,5,6,2,7];
var arr3 = [4,5,1,7,9];
arr = arr1.slice(1,4); //以数组的形式返回数组的一部分(第1-3个元素,注意不包括第4个元素)。如果省略第2个参数4,将复制第1个参数1之后的所有元素
arr = arr1.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向
arr = arr1.concat(arr2,arr3); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组
arr = arr1.concat(arr2,100,200);
arr = arr1.concat(100,200,arr2,200,100);
arr = arr1.concat("myArray",arr2);

注:arr1.slice(start,end)中,index:指定新元素插入的位置;howmany:要删除的项目数量。如果设置为 0,则不会删除项目;item1,item2,...:要插入的新元素项。

(7) 数组元素基本排序

var arr,arr1,arr2,arr3,arr4;
arr = [2,4,7,1,3];
arr1 = arr.slice(0); //拷贝arr赋值给变量arr1
arr2 = arr.slice(0);
arr3 = arr1.sort(); //对数组元素排序(升序)
arr4 = arr2.reverse(); //反转元素(最前的排到最后、最后的排到最前)
var arr5=["George","John","Thomas","James","Adrew","Martin"];
arr5.sort(); //直接按英文字母顺序排序

注:arrNew = arrOld.sort()这行代码运行后,数组arrOld同时被排序,原数组的结构被打乱。为了保留原数组,可先用这行代码arrCopy = arrOld.slice(0)将数组arrOld备份到数组arrCopy中保留。arrNew = arrOld.reverse()同理。

(8) 数组元素自定义排序

var arr1 = [2,4,7,1,3];
var arr2 = [5,6,9,8,3];
arr1.sort(function(a,b){return a-b});//从小到大排序
arr2.sort(function(a,b){return b-a});//从大到小排序

(9) 简单对象List自定义属性排序

var objList = []; //定义空数组
function Persion(name,age){ //数据结构对象构造
this.name=name;
this.age=age;
}
objList.push(new Persion('jack',20)); //向数组添加具体对象
objList.push(new Persion('tony',25));
objList.push(new Persion('stone',26));
objList.push(new Persion('mandy',23));
objList.sort(function(a,b){return a.age-b.age}); ////按年龄从小到大排序

(10) 对象数组任意单键值排序

var by = function(name){ //构造按任意属性排序函数
return function(o,p){
var a, b;
if (typeof o === "object" && typeof p === "object" && o && p) {
a = o[name];
b = p[name];
if (a === b) {return 0;}
if (typeof a === typeof b) {return a < b ? -1 : 1;}
return typeof a < typeof b ? -1 : 1;
} else {
throw ("error");
}
}
} var employees=[];
employees[0]={name:"George", age:32, retiredate:"March 12,2014"}
employees[1]={name:"Edward", age:17, retiredate:"June 2, 2023"}
employees[2]={name:"Christine", age:58, retiredate:"December 20, 2036"}
employees[3]={name:"Sarah", age:62, retiredate:"April 30, 2020"}
employees.sort(by("age")); //运用构造函数按age排序
employees.sort(by("retiredate")); //运用构造函数按retiredate排序
employees.sort(by("name")); //运用构造函数按name排序

(11) 对象数组任意双键值排序

var by = function(name,minor){
return function(o,p){
var a,b;
if(o && p && typeof o === 'object' && typeof p ==='object'){
a = o[name];
b = p[name];
if(a === b){return typeof minor === 'function' ? minor(o,p):0;}
if(typeof a === typeof b){return a < b ? -1:1;}
return typeof a < typeof b ? -1 : 1;
}else{
thro("error");
}
}
}
employees.sort(by('age',by('name')));

(12) 二维数组排序

var arr = [[4,2,3],[7,2,6],[3,2,3]]; //定义二维数组
arr.sort(function(x,y) { //按子数组的第一列排序
return x[0]-y[0];
});

(13) 数组元素的字符串化

arr = [1,2,3,4,5];
arr.join(":"); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 ":"号隔开。

(14) 数组对象的3个属性

length 属性

Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意。当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失。下面是演示改变length属性的例子:

var arr=[12,23,5,3,25,98,76,54,56,76];//定义了一个包含10个数字的数组
alert(arr.length); //显示数组的长度10
arr.length=12; //增大数组的长度
alert(arr.length); //显示数组的长度已经变为12
alert(arr[8]); //显示第9个元素的值,为56
arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃
alert(arr[8]); //显示第9个元素已经变为"undefined"
arr.length=10; //将数组长度恢复为10
alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"

prototype属性

返回对象类型原型的引用。prototype 属性是 object 共有的。 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。对于数组对象,以以下例子说明prototype 属性的用途。给数组对象添加返回数组中最大元素值的方法。要完成这一点,声明一个函数,将它加入 Array.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( );
alert(y);

constructor 属性

表示创建对象的函数。constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。

x = new String("Hi");
if (x.constructor == String) // 进行处理(条件为真)。
//或
function MyFunc {// 函数体。}
y = new MyFunc;
if (y.constructor == MyFunc) // 进行处理(条件为真)

JavaScript数组用法如下:

#Code 302:JavaScript数组用法案例

银河网络统计学教程

运行代码

JavaScript语法练习参见本站提供的银河统计JavaScript脚本测试工具W3School JavaScript在线教程

3、字符串对象(String) [返回]

JavaScript的String对象用于处理文本(字符串)。在你处理数据的时候,字符串在JavaScript中、在统计数据中几乎无处不在。JavaScript的核心部分提供了一组属性和方法用于通用的字符串操作,如分割字符串,改变字符串的大小写,操作子字符串等。

(1)字符串的创建

创建一个字符串有两种方法。

最简单的是用引号将一组字符包含起来,可将其赋值给一个字符串变量。如,var myStr = "Hello, String!";这时变量myStr类型为string。
要创建一个字符串对象,可使用如下语句:var strObj = new String("Hello, String!");这时变量strObj类型为object。

(2)charAt()方法

语法:stringObject.charAt(index),表示字符串中某个位置的数字,即字符在字符串中的下标。
注释:参数index必需。字符串中第一个字符的下标是0。如果参数index不在0与string.length 之间,该方法将返回一个空字符串。
实例:
var myStr = "I am a student.";
var myLetter = myStr.charAt(3); //myLetter为字母a
document.write("<br/>第4个字母为:"+myStr.charAt(3)); //myLetter为字母m

(3)charCodeAt()方法

语法:stringObject.charCodeAt(index)方法返回指定位置的字符的Unicode编码。
注释:参数index必需,返回值是0-65535之间的整数。charCodeAt()方法与charAt()方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。
实例:
var str="Hello world!"
document.write(str.charCodeAt(1)) //输出为101

(4)fromCharCode()方法

语法:stringObject.charCodeAt(index)方法接受一个指定的Unicode值,然后返回一个字符串。
注释:参数index必需,是0-65535之间的整数,返回值为字符串。
实例:
document.write(String.fromCharCode(72,69,76,76,79)); //输出为HELLO
document.write(String.fromCharCode(65,66,67)); //输出为ABC

(5)concat() 方法

语法:stringObject.concat(stringX,stringX,...,stringX)方法用于连接两个或多个字符串。
注释:stringX 必需。将被连接为一个字符串的一个或多个字符串对象。提示:请注意,使用"+" 运算符来进行字符串的连接运算通常会更简便一些。
实例:
var str1="Hello "
var str2="world!"
document.write(str1.concat(str2)) //输出为Hello world!

(6)indexOf()方法

语法:stringObject.indexOf(searchvalue,fromindex)方法可返回某个指定的字符串值在字符串中首次出现的位置。
注释:searchvalue 必需。规定需检索的字符串值;fromindex可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0到stringObject.length-1。如省略该参数,则将从字符串的首字符开始检索。该方法将从头到尾地检索字符串stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的fromindex处或字符串的开头(没有指定fromindex 时)。如果找到一个searchvalue,则返回searchvalue的第一次出现的位置。stringObject中的字符位置是从0开始的。
实例:
var str="Hello world!"
document.write(str.indexOf("w",1) + "<br/>"); //返回6
document.write(str.indexOf("w",2) + "<br/>"); //返回6
document.write(str.indexOf("w",5) + "<br/>"); //返回6
document.write(str.indexOf("w",7)); //返回-1

(7)lastIndexOf()方法

语法:stringObject.lastIndexOf(searchvalue,fromindex)方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
注释:searchvalue必需。规定需检索的字符串值。fromindex可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0到stringObject.length-1。如省略该参数,则将从字符串的最后一个字符处开始检索。如果要检索的字符串值没有出现,则该方法返回-1。
实例:
var str="Hello world!"
document.write(str.lastIndexOf("w",4) + "<br/>"); //返回-1
document.write(str.lastIndexOf("w",7) + "<br/>"); //返回6
document.write(str.lastIndexOf("w",8) + "<br/>"); //返回6
document.write(str.lastIndexOf("w",9)); //返回6

(8)slice()方法

语法:stringObject.slice(start,end)方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
注释:start要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1指字符串的最后一个字符,-2指倒数第二个字符,以此类推;end紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括start到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。返回值是一个新的字符串。包括字符串stringObject从start开始(包括start)到end结束(不包括end)为止的所有字符。
实例:
var str="Hello happy world!";
document.write(str.slice(6)); //输出:happy world!
var str="Hello happy world!";
document.write(str.slice(6,11)); //输出:happy

(9)split()方法

语法:stringObject.split(separator,howmany)方法用于把一个字符串分割成字符串数组。
注释:separator必需。字符串或正则表达式,从该参数指定的地方分割stringObject。howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。如果把空字符串(""),不是空格,用作separator,那么stringObject中的每个字符之间都会被分割
实例:
var str="How are you doing today?"
document.write(str.split(" ") + "<br/>"); //输出How,are,you,doing,today?
document.write(str.split("") + "<br/>");
//输出H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
document.write(str.split(" ",3)); //输出How,are,you

(10)substr()方法

语法:stringObject.substr(start,length)方法可在字符串中抽取从start下标开始的指定数目的字符。
注释:start必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1指字符串中最后一个字符,-2指倒数第二个字符,以此类推;length可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从stringObject的开始位置到结尾的字串。返回值是一个新的字符串,包含从stringObject的start(包括start所指的字符)处开始的lenght个字符。如果没有指定lenght那么返回的字符串包含从start到stringObject的结尾的字符。
实例:
var str="Hello world!"
document.write(str.substr(4,7)) //输出o worl

(11)substring()方法

语法:stringObject.substring(start,stop)方法用于提取字符串中介于两个指定下标之间的字符。
注释:start必需。一个非负的整数,规定要提取的子串的第一个字符在stringObject中的位置。
stop可选。一个非负的整数,比要提取的子串的最后一个字符在stringObject中的位置多1,如果省略该参数,那么返回的子串会一直到字符串的结尾。返回值为一个新的字符串,该字符串值包含stringObject的一个子字符串,其内容是从start处到stop-1处的所有字符,其长度为stop减 start。注意,substring()方法返回的子串包括start处的字符,但不包括end处的字符。如果参数start与end相等,那么该方法返回的就是一个空串(即长度为0的字符串)。如果start比end大,那么该方法在提取子串之前会先交换这两个参数。与slice()和substr()方法不同的是substring()不接受负的参数。
实例:
var str="Hello world!";
document.write(str.substring(3,7)); //输出lo w
document.write(str.substr(3,7)); //输出lo worl
document.write(str.slice(3,7)); //输出lo w

(12)toLowerCase()和toUpperCase()方法

语法:stringObject.toLowerCase()方法用于把字符串转换为小写;stringObject.toUpperCase()方法用于把字符串转换为大写。
注释:toLowerCase()和toUpperCase()方法为无参函数。返回值为一个新的字符串,在其中stringObject的所有大写(小写)字符全部被转换为小写(大写)字符。
实例:
var str="Hello world!";
document.write(str.toLowerCase()); //输出hello world!
document.write(str.toUpperCase()); //输出HELLO WORLD!

(13)length属性

语法:stringObject.length属性返回字符串的长度或字符数目。
注释:length 是根据字符串的UTF-16编码来获取长度的,空字符串长度为0。length 不可修改。
实例:
var str="Hello world!";
document.write(str.length); //输出12

注意:match()、replace()、search()方法参见后续教程“JavaScript和正则表达式”部分。

JavaScript语法练习参见本站提供的银河统计JavaScript脚本测试工具W3School JavaScript在线教程

4、日期对象(Date) [返回]

JavaScript的Date对象用于处理和时间有关的数据。使用关键词new来定义一个Date对象,创建一个日期对象主要有以下两种方法:

var objDate=new Date([arguments list]); //有参数
var myDate=new Date(); //无参数,日期对象会自动取当前的日期和时间为初始值。

Date对象有参数时,参数形式主要有以下3种:

var objDate = new Date("month dd yyyy hh:mm:ss");
//后面的hh:mm:ss可选(不选的话就是默认的开始时间),而且前三项的顺序可以随意,甚至各字段后面可以加逗号
var objDate = new Date(yyyy,mth,dd,hh,mm,ss);
//除了前两个字段(年、月字段)外,其余的都是可选的(不选的话就默认为开始的),不过,此处顺序最好别随意变换
var objDate = new Date(ms);
//参数表示的是需要创建的时间和GMT时间1970年1月1日之间相差的毫秒数。

函数的参数含义如下:

month:用英文表示月份名称,从January到December
mth:用整数表示月份,从(1月)到11(12月)
dd:表示一个月中的第几天,从1到31
yyyy:四位数表示的年份
hh:小时数,从0(午夜)到23(晚11点)
mm:分钟数,从0到59的整数
ss:秒数,从0到59的整数
ms:毫秒数,为大于等于0的整数

使用Date对象的函数可以方便的对日期数据进行操作。

(1)设置日期对象并指定日期

var myDate=new Date(); //设置日期对象
document.write(myDate+"<br/>"); //输出:Sun Oct 30 2016 17:54:43 GMT+0800 (中国标准时间)
myDate.setFullYear(2010,0,14); //指定日期值为2010年1月14日
document.write(myDate+"<br/>"); //输出:Thu Jan 14 2010 17:54:43 GMT+0800 (中国标准时间)
myDate.setDate(myDate.getDate()+5); //myDate的值(2010年1月14日)设为5天后
document.write(myDate+"<br/>"); //输出:Thu Jan 19 2010 17:54:43 GMT+0800 (中国标准时间)

(2)常用日期函数

setFullYear()函数:

var myDate=new Date(); //设置日期对象
myDate.setFullYear(2010,0,14); //指定日期值为2010年1月14日
document.write(myDate+"<br/>"); //输出:Thu Jan 14 2010 17:54:43 GMT+0800 (中国标准时间)

getDay()函数

用途:返回星期几。每周从星期六开始(0-6);
实例:
var myDate = new Date();
myDate.setFullYear(2010,0,14); //指定日期值为2010年1月14日
var oDay = myDate.getDay();
document.write(oDay+"<br/>"); //输出:5(星期五,0为星期天)

setDate(day)函数

用途:用于设置一个月的某一天;
实例:
var myDate = new Date();
var oDate = myDate.setDate(15);
document.write(oDate+"<br/>"); //输出日期为当前月15日,时间为当时时间

getDate()函数:

用途:返回月份里的日期;
实例:
var myDate=new Date(); //设置日期对象
var oDate = myDate.getDate(); //获得即时时期的日期数(1-31)
myDate.setFullYear(2010,0,14); //指定日期值为2010年1月14日
var oDate = myDate.getDate(); //获得指定日期的日期数(14)
document.write(oDate+"<br/>"); //输出:14

getMonth()函数

用途:返回日期变量的月份数;
实例:
var myDate = new Date();
myDate.setFullYear(2015,4,14); //指定日期值为2015年5月14日
var oMonth = myDate.getMonth(); //返回表示月份的数字(0-11)
document.write(oMonth+"<br/>"); //输出:4

getYear()函数

用途:返回日期变量的年份数;
实例:
var myDate = new Date();
myDate.setFullYear(1915,4,14); //指定日期值为1915年5月14日
var oYear = myDate.getYear(); //返回两位数的年份15
document.write(oYear+"<br/>"); //输出:15
myDate.setFullYear(2015,4,14); //指定日期值为2015年5月14日
var oYear = myDate.getYear(); //返回三位数的年份115
document.write(oYear+"<br/>"); //输出:115
myDate.setFullYear(2015,4,14); //指定日期值为2015年5月14日
var oYear = myDate.getUTCFullYear(); //返回四位数的年份2015
document.write(oYear+"<br/>"); //输出:2015

getHours()、getMinutes()、getSeconds()、getTime()函数

用途:返回日期变量的时间;
实例:
var myDate = new Date();
document.write(myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds()+":"+myDate.getMilliseconds()+"<br/>"); //输出:19:42:26:203(时:分:秒:毫秒)
document.write(myDate.getTime()+"<br/>"); //输出:1477827746203(从1970年1月1日午夜以来的毫秒数)

注意:运行该段脚本程序时间不同,输出数据会有变化,数据格式不变。

就像setTime、setDate和方法一样,有一些方法能够填充(设置属性)日期对象的所有部分。这包括下面这些函数:

setFullYear、setHours、setMinutes、setMilliseconds、setMonth、setSeconds等。

(3)对日期进行比较

var myDate=new Date()
myDate.setFullYear(2010,0,14);
var today = new Date();
if (myDate>today) {
document.write("今天还没到2010年1月14日!<br/>");
} else {
document.write("今天已经过了2010年1月14日!<br/>");
}
}

(4)计算两个日期之间的天数

var d1 = new Date(2010,9,1); //定义日期1
var d2 = new Date(2016,11,1); //定义日期2
var day = 1000*60*60*24; //一天的毫秒数
var diff = Math.ceil((d2.getTime()-d1.getTime())/(day)); //计算日期间天数
document.write("日期间天数:" + diff); //输出:2253

JavaScript语法练习参见本站提供的银河统计JavaScript脚本测试工具W3School JavaScript在线教程