javascript 基础

ECMAScript,原文:http://www.cnblogs.com/suoning/p/5656403.html

 

简介

定义

  javascript是一门动态弱类型的解释型编制程序语言,增强页面动态效果,完成页面与用户之间的实时动态的互相。

  javascript是由三有的构成:ECMAScript、DOM、BOM

  • ECMAScript由ECMA-262概念,提供基本语言成效(ECMA是澳洲总结机成立商组织)
  • DOM(Document Object
    Model)文书档案对象模型,提供访问和操作网页内容的不二法门和接口
  • BOM(Browser Object
    Model)浏览器对象模型,提供与浏览器交互的办法和接口

 

注释

JavaScript中代码注释:

  • 单行 //
  • 多行 /*  */

 

引入文件

  1. 引入外部文件
1
<script type"text/javascript" src="JS文件"></script>

 

  1. 存放在HTML的<head>或<body>中
1
2
3
<script type"text/javascript">
    Js代码内容
</script> 
  • HTML的head中
  • HTML的body代码块底部(推荐)

 

  1. 为什么要放在<body>代码块底部?
  • HTML代码从上到下执行,先加载CSS,防止html出现无样式状态;
  • 将JavaScript代码块放在<body>末了,能够让网页尽快的展现给用户,缩短浏览者的守候时间,幸免因为JS代码块阻塞网页的表现。

 

变量

内需留意的是:局地变量必须以 var 初叶表明,借使不写 var 则为全局变量

1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
  
    // 全局变量
    name = 'nick';
  
    function func(){
        // 局部变量
        var age = 18;
  
        // 全局变量
        gender = "man"
    }
</script>

注:须要留意变量进步,就是把变量地方放置函数体的最顶端  

 

运算符

1. 算术运算符

一元算术

    +  一元加,数值不会发生潜移默化

对非数值应用一元加运算时,会调用Number()转型函数对这么些值实行转移

    –  一元减,转换为负数

~

    ++  递增1

通过Number()转型为数字,再加1,再另行赋值给操作数值

    — 递减1

~

二元算术

    +  加法

 

    –  减法

 

    *  乘法

 

    /  除法

 

    %  取模

 

 

1> 如果其中一个操作数是对象,则对象会转换为原始值:日期对象通过toString()方法执行转换,其他对象通过valueOf()方法执行转换。如果结果还不是原始值,则再使用toString()方法转换
2> 在进行了对象到原始值的转换后,如果其中一个操作数是字符串的话,另一个操作数也会转换成字符串,进行字符串拼接
3> 两个操作数都将转换成数字或NaN,进行加法操作

2. 相比较运算符

  ===  严格运算符 比较过程没有任何类型转换
  !==  严格运算符 ===的结果取反
  ==  相等运算符 如果两个操作值不是同一类型,相等运算符会尝试进行一些类型转换,然后再进行比较
  !=  不相等运算符 ==的结果取反
  >  大于运算符  
  >=  大于等于运算符  
  <  小于运算符  
  <=  小于等于运算符  

 

1> 即使四个值类型分化则赶回false
2> 倘诺八个值类型相同,值相同,则赶回true,不然再次回到false
3> 假诺七个值引用同一个目的,则赶回true,不然,再次来到false
console.log([] === []);//false
console.log({} === {});//false
var a = {};
b = a;
console.log(a === b);//true

从严运算符相比较进度

 

目的类型和原始类型比较:
1>
对象类型会先使用valueOf()转换来原始值,尽管结果还不是原始值,则再使用toString()方法转换,再进行相比较(日期类只允许使用toString()方法转换为字符串)
2>
在对象转换为原始值之后,假诺三个操作数都是字符串,则开始展览字符串的相比较
3>
在指标转换为原始值之后,假若至少有三个操作数不是字符串,则三个操作数都将由此Number()转型函数转换到数字实行数值比较

注:如若二个值是null,另叁个值是undefined,则赶回true;
console.log(null == undefined);//true
比方三个值是null,另1个值是0,则赶回tfalse;
console.log(null == 0);//false
空字符串或空格字符串会转成0
console.log(null == []);//false
console.log(null == ”);//false
console.log([] == ‘ ‘);//false,相当于” == ‘ ‘
console.log([] == ”);//true,相当于” == ”
console.log(0 == ”);//true

约等于运算符相比进度

数字和字符串比较:
1>
假使操作值是指标,则这几个目的将先利用valueOf()转换到原始值,借使结果还不是原始值,则再利用toString()方法转换
2>
在对象转换为原始值之后,如果七个操作数都以字符串,则依据unicode字符的目录顺序对多少个字符串进行相比较
3>
在目的转换为原始值之后,假如至少有三个操作数不是字符串,则四个操作数都转换来数字进行相比
console.log(‘B’ > ‘a’);//false
console.log(‘b’ > ‘a’);//true
console.log(9 > ‘2’);//true

胜出小于运算符相比较进程

3. 逻辑运算符

    !  非(两个!!表示Boolean()转型函数)

返回一个布尔值
    &&  与 两个操作都为true时返回true,否则返回false(返回值不一定是布尔值),可以多个连用(..&&..&&..)
    ||  或 两个操作都是false时返回false,否则返回true(返回值不一定是布尔值),可以多个连用(..||..||..)

 

1
2
3
4
5
6
7
8
9
10
11
//七个假值:
console.log(!!undefined);//false
console.log(!!null);//false
console.log(!!0);//false
console.log(!!-0);//false
console.log(!!NaN);//false
console.log(!!'');//false
console.log(!!false);//false
 
console.log(!!{});//true
console.log(!![]);//true

1> 取代if语句
//前边条件建立则运转前面操作
(a == b) && dosomething();

2> 用于回调函数
//若没有给参数a传值,则a暗中认可为undefined假值,所以不执行a()。
function fn(a){
a && a();
}

&& 常用操作

ECMAScript 1

1> 取代if语句
//前面条件成立则运行后面操作
(a == b) && dosomething();

2> 用于回调函数
//若没有给参数a传值,则a默认为undefined假值,所以不执行a()。
function fn(a){
    a && a();
}

ECMAScript 2

1> 变量设置为默认值
//如果没有向参数a传入任何参数,则将该参数设置为空对象
function func(a){
    a = a || {};
}



1> 变量设置为默认值
//如果没有向参数a传入任何参数,则将该参数设置为空对象
function func(a){
    a = a || {};
}

  

数据类型

特殊值:

  • null     表示3个空对象指针,常用来叙述”空值”;
  • undefined  表示变量未定义。

 

1、数字(Number)

JavaScript中不区分整数和浮点数,全体数字均用浮点数值表示。

转换:

  • parseInt(..)    将某值转换来整数,不成事则NaN
  • parseFloat(..) 将某值转换来浮点数,不成功则NaN

特殊值:

  •  NaN,非数字。能够运用 isNaN(num) 来判断。
  • Infinity,无穷大。能够接纳 isFinite(num) 来判断。
Number 对数字的支持
Number.MAX_VALUE 最大数值
Number.MIN_VALUE 最小数值
Number.NaN 非数字
Number.NEGATIVE_INFINITY 负无穷大
Number.POSITIVE_INFINITY 正无穷大
Number.toExponential( ) 返回四舍五入的科学计数法,加参数为保留几位
Number.toFixed( ) 小数点后面的数字四舍五入,加参数为保留几位
Number.toPrecision( ) 四舍五入,自动调用toFixed()或toExponential()
Number.toLocaleString( ) 把数字转换成本地格式的字符串
Number.toString( ) 将数字转换成字符串
Number.valueOf( ) 返回原始数值

 

2、字符串(String)

String.length 字符串的长度
String.trim() 移除空白
String.trimLeft() 移除左侧空白
String.trimRight() 移除右侧空白
String.concat(value, …) 拼接
String.slice(start, end) 切片
String.split( ) 分割
String.search( ) 从头开始匹配,返回匹配成功的第一个位置(g无效)
String.match( ) 全局搜索,如果正则中有g表示找到全部,否则只找到第一个
String.replace( ) 替换,正则中有g则替换所有,否则只替换第一个匹配项;

$数字:匹配的第n个组内容;
$&:当前匹配的内容;
$`:位于匹配子串左侧的文本;
$':位于匹配子串右侧的文本
$$:直接量$符号
String.charAt( ) 返回字符串中的第n个字符
String.charCodeAt( ) 返回字符串中的第n个字符的代码
String.fromCharCode( ) 从字符编码创建—个字符串
String.indexOf( ) 查找子字符串位置
String.lastIndexOf( ) 查找子字符串位置
String.localeCompare( ) 用本地特定的顺序来比较两个字符串
String.substr( ) 抽取一个子串
String.substring( ) 返回字符串的一个子串
String.toLocaleLowerCase( ) 把字符串转换小写(针对地区,在不知道程序在哪个语言环境中运行时用)
String.toLocaleUpperCase( ) 将字符串转换成大写(针对地区)
String.toLowerCase( ) 小写
String.toUpperCase( ) 大写
String.toString( ) 返回原始字符串值
String.toString() 返回原始字符串值
String.valueOf( ) 返回原始字符串值

ECMAScript 3

\0 空字节
\n 换行
\t 制表
\b 空格
\r 回车
\f 进纸
\\ 斜杠
\’ 单引号
\” 双引号

转义字符

ECMAScript 4

\0 空字节
\n 换行
\t 制表
\b 空格
\r 回车
\f 进纸
\\ 斜杠
\' 单引号
\" 双引号

ECMAScript 5

 

三 、布尔类型(Boolean)

true(真)和false(假)

toString() 返回Boolean的字符串值(‘true’或’false’)
toLocaleString() 返回Boolean的字符串值(‘true’或’false’)
valueOf() 返回Boolean的原始布尔值(true或false)

 

4、数组(Array)

1
2
var name = Array("nick","jenny");
var name = ["nick","jenny"];

  

Array.length 数组的大小
Array.push() 尾部添加元素
Array.pop() 删除并返回数组的最后一个元素
Array.unshift() 在数组头部插入一个元素
Array.shift( ) 在数组头部移除一个元素
Array.slice( ) 切片
Array.reverse( ) 反转
Array.join( ) 将数组元素连接起来以构建一个字符串
Array.concat( ) 拼接
Array.sort( ) 排序
Array 对数组的内部支持
Array.splice( start, deleteCount, value, …)

插入、删除或替换数组的元素

obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,1)    指定位置删除元素
Array.toLocaleString( ) 把数组转换成局部字符串
Array.toString( ) 将数组转换成一个字符串

 

5. Math

 Math对象是一个静态对象,而不是构造函数。实际上,Math只是三个由Javascript设置的靶子命名空间,用于存款和储蓄数学函数。

 成效是举行通常的算数义务。

ECMAScript 6

常量

Math.E
常量e,自然对数的底数。

Math.LN10
10的自然对数。

Math.LN2
2的自然对数。

Math.LOG10E
以10为底的e的对数。

Math.LOG2E
以2为底的e的对数。

Math.PI
常量figs/U03C0.gif。

Math.SQRT1_2
2的平方根除以1。

Math.SQRT2
2的平方根。

静态函数

Math.abs( )
计量相对值。

Math.acos( )
测算反余弦值。

Math.asin( )
总括反正弦值。

Math.atan( )
测算反正切值。

Math.atan2( )
算算从X轴到三个点的角度。

Math.ceil( )
对一个数上舍入。

Math.cos( )
算算余弦值。

Math.exp( )
计算e的指数。

Math.floor( )
对七个数下舍人。

Math.log( )
测算自然对数。

Math.max( )
重回多个数中较大的多个。

Math.min( )
回去四个数中较小的三个。

Math.pow( )
计算xy。

Math.random( )
计量1个随机数。

Math.round( )
舍入为最相近的平头。

Math.sin( )
计算正弦值。

Math.sqrt( )
测算平方根。

Math.tan( )
算算正切值。

Math 方法

ECMAScript 7

常量

Math.E
常量e,自然对数的底数。

Math.LN10
10的自然对数。

Math.LN2
2的自然对数。

Math.LOG10E
以10为底的e的对数。

Math.LOG2E
以2为底的e的对数。

Math.PI
常量figs/U03C0.gif。

Math.SQRT1_2
2的平方根除以1。

Math.SQRT2
2的平方根。

静态函数

Math.abs( )
计算绝对值。

Math.acos( )
计算反余弦值。

Math.asin( )
计算反正弦值。

Math.atan( )
计算反正切值。

Math.atan2( )
计算从X轴到一个点的角度。

Math.ceil( )
对一个数上舍入。

Math.cos( )
计算余弦值。

Math.exp( )
计算e的指数。

Math.floor( )
对一个数下舍人。

Math.log( )
计算自然对数。

Math.max( )
返回两个数中较大的一个。

Math.min( )
返回两个数中较小的一个。

Math.pow( )
计算xy。

Math.random( )
计算一个随机数。

Math.round( )
舍入为最接近的整数。

Math.sin( )
计算正弦值。

Math.sqrt( )
计算平方根。

Math.tan( )
计算正切值。

ECMAScript 8

 

 

语句

 

壹 、条件语句

JavaScript中帮助七个原则语句,分别是:if 和 switch。

 if 语句:

1
2
3
4
5
6
7
8
9
//if语句
 
if(条件){
  
    }else if(条件){
          
    }else{
  
    }

Switch 语句:

1
2
3
4
5
6
7
8
9
10
11
12
//switch语句,name等于nick是执行第一个case,等于第二个执行第二个case,其它执行default.
 
switch(name){
        case 'nick':
            age = 18;
            break;
        case 'jenny':
            age = 21;
            break;
        default :
            age = 0;
    }

  

 贰 、循环语句

JavaScript中帮助各类循环语句,分别是:for、for in、while、do-while

for 循环:

1
2
3
4
5
6
var names = ["nick", "jenny"];
  
for(var i=0;i<names.length;i++){
    console.log(i);    //索引
    console.log(names[i]);
}

for in 循环:

1
2
3
4
5
6
var names = ["nick", "jenny"];
 
for(var index in names){
    console.log(index);
    console.log(names[index]);
}

while 循环: 

1
2
3
4
while(条件){
    // break;
    // continue;
}

do-while 循环:

1
2
3
4
5
6
//循环的代码至少执行一次,结果为1
 
        var num = 0;
        do {
            num++;
        }while (num>10);

  

 3. label语句

label 语句能够清楚为跳出任意循环

ECMAScript 9

//输出结果为95

<script>
var num = 0;
for (var i=0;i<10;i++) {
for (var j=0;j<10;j++) {
if (i==5 && j==5) {
break;
}
num++;
}
}
console.log(num);
</script>

未加label实例

ECMAScript 10

//输出结果为95

    <script>
        var num = 0;
        for (var i=0;i<10;i++) {
            for (var j=0;j<10;j++) {
                if (i==5 && j==5) {
                    break;
                }
                num++;
            }
        }
        console.log(num);
    </script>

ECMAScript 11

ECMAScript 12

//输出结果为55
//i和j都循环为到5时,跳出了两层循环

<script>
var num = 0;
outPoint:
for (var i=0;i<10;i++) {
for (var j=0;j<10;j++) {
if (i==5 && j==5) {
break outPoint;
}
num++;
}
}
console.log(num);
</script>

加label实例

ECMAScript 13

//输出结果为55
//i和j都循环为到5时,跳出了两层循环

    <script>
        var num = 0;
        outPoint:
        for (var i=0;i<10;i++) {
            for (var j=0;j<10;j++) {
                if (i==5 && j==5) {
                    break outPoint;
                }
                num++;
            }
        }
        console.log(num);
    </script>

ECMAScript 14

 

4. 格外处理

主动跑出特别 throw Error(‘xxxx’)

1
2
3
4
5
6
7
8
9
10
try {
    //这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行
}
catch (e) {
    // 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
    //e是一个局部变量,用来指向Error对象或者其他抛出的对象
}
finally {
     //无论上述代码怎么,finally代码块始终会执行
}

 

 

函数Function

 

函数定义的三种方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 普通函数
    function func(arg){
        return true;
    }
           
// 匿名函数
    var func = function(arg){
        return "nick";
    }
   
// 自执行函数
    (function(arg){
        console.log(arg);
    })('nick')

  

函数参数:

函数字传送参的个数能够低于实际需传参的个数,没传参的暗中认可为undefined

参数字传送多暗中同意不起功效

1
2
3
4
5
6
function man(name,age) {
    console.log(name,age);
}
man("nick",18); //nick 18
man("nick");    //nick undefined
man("nick",18,19);  //nick 18

arguments 可吸收接纳全数参数,重临三个数组

1
2
3
4
5
6
function man() {
    console.log(arguments);
}
man("nick",18); //["nick", 18]
man("nick");    //["nick"]
man("nick",18,19);  //["nick", 18, 19]

  

 函数的功效域与功效域链:

 JavaScript中从不块级效率域

1
2
3
4
5
6
7
8
9
10
11
12
        var name = 'nick';
        (function Main(){
            console.log(name);//undefined
            if(1){
                var name = 'jenny';
            }
            console.log(name);//jenny
        })();
        console.log(name);//nick
 
//输出结果第一个为undefined
//声明需提前(Hoisting),在JavaScript引擎“预编译”时进行,函数在被执行之前,会将其中的变量全部声明,而不赋值

成效域链

各种构造函数都有1个里头对象指针,指向原型对象,而原型对象也饱含2个针对性构造函数的指针。如此罕见递进,形成功能域链条

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        var name = 'nick';
        function Main() {
            function F1(){
                var name = 'jenny';
                console.log(name);//jenny
            }
            function F2() {
                console.log(name);//nick
            }
            F1();
            F2();
        }
        Main();
 
// 从内到外的优先级寻找
// F2() 的作用域链为 F2()-->Main()

  

 闭包:

闭包正是能够读取其余函数内部变量的函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        function f1(){
        var n=1;
        Add=function(){
                    n++;
                };
        function f2(){
         console.log(n);
        }
        return f2;
        }
      var result=f1();
      result(); //1
      Add();
      result(); //2
 
//result就是闭包f2函数
//函数f1中的局部变量n一直保存在内存中,并没有在f1调用后被自动清除

闭包使函数中的变量都被封存在内部存款和储蓄器中,内部存款和储蓄器消耗大,所以少用闭包,不然会造成网页的属性低,在IE中也许导致内部存储器走漏。

故此在脱离函数此前,将不采取的部分变量全体剔除。

 

 面向对象

 面向对象的三大特点:
  封装:隐藏代码完成的细节,完毕代码的模块化
  继承:扩张已经存在的代码模块,落成代码重用
  多态:接口的例外完结情势,完毕接口重用

 关键字:

    this  代指此时的对象

    new  创造对象时必须选用

 

构造函数格局:

1
2
3
4
5
6
7
8
9
10
11
function Foo (name,age) {
    this.Name = name;
    this.age = age;
    this.Func = function () {
        return this.Name + this.age
    }
}
var obj = new Foo("nick",18);
var ret = obj.Func();
console.log(ret);
var obj2 = new Foo("jenny",21);

上述格局把同样的函数封装到了分歧目的,造成了内部存款和储蓄器浪费。

 

原型格局(prototype):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function Foo(name,age) {
    this.Name = name;
    this.Age = age;
}
Foo.prototype = {
    GetInfo: function () {
        var str = " is good";
        return this.Name + str;
    },
    Func: function () {
        return this.Name + this.Age;
    }
};
var obj = new Foo("nick",18);
console.log(obj.Name);//nick
console.log(obj.Age);//18
var ret = obj.GetInfo();
console.log(ret);//nick is good
var ret2 = obj.Func();
console.log(ret2);//nick18
var obj2 = new Foo("nick",18);

负有的构造函数的prototype属性都指向另三个指标(同一块内部存款和储蓄器地址),这几个指标的有所属性和章程,都会被构造函数的实例继承。

 

 

 Prototype格局的认证方式

 

1.  isPrototypeOf() 

用来判定3个目的是不是留存于另1个对象的原型链中

1
2
3
4
Foo.prototype.isPrototypeOf(obj)
true
Foo.prototype.isPrototypeOf(obj2)
true

  

 2.  hasOwnProperty()

 用来判断某二个目的(不包含原型链)是不是享有钦定属性。“

1
2
3
4
obj.hasOwnProperty('Name')
true
obj.hasOwnProperty('Age')
true

  

 3. in运算符

 判断有些实例是不是持有有个别属性

1
2
3
4
'Name' in obj
true
'Age' in obj
true

  

 

 其它

 

1、序列化

  • JSON.stringify(obj)   序列化
  • JSON.parse(str)        反类别化

2、转义

  • decodeU奇骏I( )                   U帕杰罗l中未转义的字符
  • decodeU中华VIComponent( )   U中华VI组件中的未转义字符
  • encodeU奥迪Q5I( )                   U昂科拉I中的转义字符
  • encodeU中华VIComponent( )   转义U哈弗I组件中的字符
  • escape( )                         对字符串转义
  • unescape( )                     给转义字符串解码
  • U奥迪Q7IError                         由U福特Explorerl的编码和平解决码方法抛出

3、eval

JavaScript中的eval既能够运作代码也得以拿走重返值

1
2
a = eval('1+1');
console.log(a); //2
  • eval() 
  • 伊娃lError   执行字符串中的JavaScript代码

④ 、正则表明式

1
2
3
var p = /nick/g;
console.log(p.test('nickjennynick')); // true
console.log(p.exec('nickjennynick')); // ["nick", index: 0, input: "nickjennynick"]

JavaScript中协理正则表达式,其首要性提供了多个职能:

  • test(string)     用于检查和测试正则是或不是匹配
  • exec(string)    用于获取正则匹配的剧情

卓越形式:

  g:表示全局(global)情势,匹配全体字符串,不会同盟到第③项时停下

  i:表示不区分轻重缓急写(case-insensitive)情势

  m:表示多行(multiline)方式,到达一行文本末尾时还会持续搜寻下一行中是或不是存在格外的项

括号分组:

1
2
console.log(/(n)(i)ck/.exec('nickjenny')); // console.log(/(n)(i)ck/.exec('nickjenny'))
console.log(/(n)(i)ck{2}/.exec('nickkjenny')); // ["nickk", "n", "i", index: 0, input: "nickkjenny"]

ECMAScript 15

元字符 名称 匹配对象
. 点号
单个任意字符(除回车\r、换行\n、行分隔符\u2028和段分隔符\u2029外)
[] 字符组 列出的单个任意字符
[^] 排除型字符组 未列出的单个任意字符
? 问号 匹配0次或1次
* 星号 匹配0交或频仍

  • 加号 匹配三遍或频繁
    {min,max} 区间量词 匹配至少min次,最多max次
    ^ 脱字符 行的初始地点
    $ 日币符 行的了断地点
    | 竖线 分隔两边的即兴3个表明式
    () 括号 限制多选结构的界定,标注量词作者用的要素,为反向引用捕获文本
    \1,\2… 反向引用 匹配在此以前的率先、第3…组括号内的表明式匹配的文书

元字符

ECMAScript 16

元字符         名称              匹配对象
.             点号              单个任意字符(除回车\r、换行\n、行分隔符\u2028和段分隔符\u2029外)
[]            字符组             列出的单个任意字符
[^]           排除型字符组        未列出的单个任意字符
?             问号               匹配0次或1次
*             星号               匹配0交或多次
+             加号               匹配1次或多次
{min,max}     区间量词           匹配至少min次,最多max次
^             脱字符             行的起始位置
$             美元符             行的结束位置
|             竖线               分隔两边的任意一个表达式
()            括号               限制多选结构的范围,标注量词作用的元素,为反向引用捕获文本
\1,\2...      反向引用            匹配之前的第一、第二...组括号内的表达式匹配的文本

ECMAScript 17

ECMAScript 18

\d     数字,等同于[0-9]
\D     非数字,等同于[^0-9]
\s     空白字符
\S     非空白字符
\w     字母、数字、下划线,等同于[0-9A-Za-z_](汉字不属于\w)
\W     非字母、数字、下划线,等同于[^0-9A-Za-z_]

\d     数字,等同于[0-9]
\D     非数字,等同于[^0-9]
\s     空白字符
\S     非空白字符
\w     字母、数字、下划线,等同于[0-9A-Za-z_](汉字不属于\w)
\W     非字母、数字、下划线,等同于[^0-9A-Za-z_]

 

⑤ 、时间处理

光阴操作中有三种时光:

  • 岁月集合时间
  • 本土时间(东8区)

ECMAScript 19

Date 操作日期和岁月的对象
Date.getDate( ) 重回二个月底的某一天
Date.getDay( ) 重返1八日中的某一天
Date.getFullYear( ) 重临Date对象的年份字段
Date.getHours( ) 再次来到Date对象的钟点字段
Date.getMilliseconds( ) 再次来到Date对象的纳秒字段
Date.getMinutes( ) 重临Date对象的分钟字段
Date.getMonth( ) 重回Date对象的月份字段
Date.getSeconds( ) 再次回到Date对象的秒字段
Date.getTime( ) 重临Date对象的阿秒表示
Date.getTimezoneOffset( ) 判断与丙胺搏来霉素T的时光差
Date.getUTCDate( ) 再次来到该天是一个月的几时(世界时)
Date.getUTCDay( ) 再次回到该天是星期几(世界时)
Date.getUTCFullYear( ) 重返年份(世界时)
Date.getUTCHours( ) 重回Date对象的小时字段(世界时)
Date.getUTC米尔iseconds( ) 再次回到Date对象的微秒字段(世界时)
Date.getUTCMinutes( ) 重回Date对象的分钟字段(世界时)
Date.getUTCMonth( ) 再次回到Date对象的月份(世界时)
Date.getUTCSeconds( ) 重临Date对象的秒字段(世界时)
Date.getYear( ) 再次来到Date对象的年度字段(世界时)
Date.parse( ) 解析日期/时间字符串
Date.setDate( ) 设置贰个月的某一天
Date.setFullYear( ) 设置年度,也足以设置月份和天
Date.setHours( ) 设置Date对象的小时字段、分钟字段、秒字段和微秒字段
Date.setMilliseconds( ) 设置Date对象的微秒字段
Date.setMinutes( ) 设置Date对象的分钟字段和秒字段
Date.setMonth( ) 设置Date对象的月度字段和天字段
Date.setSeconds( ) 设置Date对象的秒字段和纳秒字段
Date.setTime( ) 以微秒设置Date对象
Date.setUTCDate( ) 设置2个月尾的某一天(世界时)
Date.setUTCFullYear( ) 设置年度、月份和天(世界时)
Date.setUTCHours( )
设置Date对象的钟点字段、分钟字段、秒字段和皮秒字段(世界时)
Date.setUTCMilliseconds( ) 设置Date对象的皮秒字段(世界时)
Date.setUTCMinutes( ) 设置Date对象的分钟字段和秒字段(世界时)
Date.setUTCMonth( ) 设置Date对象的月份字段和天数字段(世界时)
Date.setUTCSeconds( ) 设置Date对象的秒字段和阿秒字段(世界时)
Date.setYear( ) 设置Date对象的年份字段
Date.toDateString( ) 返回Date对象日期部分作为字符串
Date.to达托霉素TString( ) 将Date转换为世界时字符串
Date.toLocaleDateString( )
回Date对象的日期部分作为本土已格式化的字符串
Date.toLocaleString( ) 将Date转换为地方已格式化的字符串
Date.toLocaleTimeString( )
重回Date对象的时光有个别作为地方已格式化的字符串
Date.toString( ) 将Date转换为字符串
Date.to提姆eString( ) 再次回到Date对象日期部分作为字符串
Date.toUTCString( ) 将Date转换为字符串(世界时)
Date.UTC( ) 将Date规范转换来飞秒数
Date.valueOf( ) 将Date转换来飞秒表示

Date 方法

ECMAScript 20

Date    操作日期和时间的对象
Date.getDate( )    返回一个月中的某一天
Date.getDay( )    返回一周中的某一天
Date.getFullYear( )    返回Date对象的年份字段
Date.getHours( )    返回Date对象的小时字段
Date.getMilliseconds( )    返回Date对象的毫秒字段
Date.getMinutes( )    返回Date对象的分钟字段
Date.getMonth( )    返回Date对象的月份字段
Date.getSeconds( )    返回Date对象的秒字段
Date.getTime( )    返回Date对象的毫秒表示
Date.getTimezoneOffset( )    判断与GMT的时间差
Date.getUTCDate( )    返回该天是一个月的哪一天(世界时)
Date.getUTCDay( )    返回该天是星期几(世界时)
Date.getUTCFullYear( )    返回年份(世界时)
Date.getUTCHours( )    返回Date对象的小时字段(世界时)
Date.getUTCMilliseconds( )    返回Date对象的毫秒字段(世界时)
Date.getUTCMinutes( )    返回Date对象的分钟字段(世界时)
Date.getUTCMonth( )    返回Date对象的月份(世界时)
Date.getUTCSeconds( )    返回Date对象的秒字段(世界时)
Date.getYear( )    返回Date对象的年份字段(世界时)
Date.parse( )    解析日期/时间字符串
Date.setDate( )    设置一个月的某一天
Date.setFullYear( )    设置年份,也可以设置月份和天
Date.setHours( )    设置Date对象的小时字段、分钟字段、秒字段和毫秒字段
Date.setMilliseconds( )    设置Date对象的毫秒字段
Date.setMinutes( )    设置Date对象的分钟字段和秒字段
Date.setMonth( )    设置Date对象的月份字段和天字段
Date.setSeconds( )    设置Date对象的秒字段和毫秒字段
Date.setTime( )    以毫秒设置Date对象
Date.setUTCDate( )    设置一个月中的某一天(世界时)
Date.setUTCFullYear( )    设置年份、月份和天(世界时)
Date.setUTCHours( )    设置Date对象的小时字段、分钟字段、秒字段和毫秒字段(世界时)
Date.setUTCMilliseconds( )    设置Date对象的毫秒字段(世界时)
Date.setUTCMinutes( )    设置Date对象的分钟字段和秒字段(世界时)
Date.setUTCMonth( )    设置Date对象的月份字段和天数字段(世界时)
Date.setUTCSeconds( )    设置Date对象的秒字段和毫秒字段(世界时)
Date.setYear( )    设置Date对象的年份字段
Date.toDateString( )    返回Date对象日期部分作为字符串
Date.toGMTString( )    将Date转换为世界时字符串
Date.toLocaleDateString( )    回Date对象的日期部分作为本地已格式化的字符串
Date.toLocaleString( )    将Date转换为本地已格式化的字符串
Date.toLocaleTimeString( )    返回Date对象的时间部分作为本地已格式化的字符串
Date.toString( )    将Date转换为字符串
Date.toTimeString( )    返回Date对象日期部分作为字符串
Date.toUTCString( )    将Date转换为字符串(世界时)
Date.UTC( )    将Date规范转换成毫秒数
Date.valueOf( )    将Date转换成毫秒表示