JavaScript基础

初识JavaScript

  • HTML定义网页的内容
  • CSS描述网页的布局及渲染
  • JavaScript网页的行为

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

javascript是由三部分组成:ECMAScript、DOM、BOM

  • ECMAScript由ECMA-262定义,提供核心语言功能(ECMA是欧洲计算机制造商协会)
  • DOM(Document Object Model)文档对象模型,提供访问和操作网页内容的方法和接口
  • BOM(Browser Object Model)浏览器对象模型,提供与浏览器交互的方法和接口

Javascript 在开发中绝大多数情况是基于对象的.也是面向对象的. 

ECMAScript 描述了以下内容:

  • 语法 
  • 类型 
  • 语句 
  • 关键字 
  • 保留字 
  • 运算符 
  • 对象 (封装 继承 多态) 基于对象的语言.使用对象.

引入方式

存在形式

<!-- 方式1 -->
<script src="JS文件路径"></script>
   
<!-- 方式2 -->
<script >
    JS代码内容
</script>

存放位置

  • HTML的head中
  • HTML的body代码块底部(推荐)

  为什么推荐存放位置在body代码块的底部

  • HTML文档代码依次由上自下执行,预先加载CSS样式,而不会让用户看到单纯的文本内容
  • 如果head中js代码耗时严重,则导致用户长时间无法看到网页内容;如果放在底部,不会影响网页效果,减少等待时间

变量

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(不过不推荐这么做)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量。

变量声明之后,该变量是空的(它没有值)。如需向变量赋值,请使用等号,也可以在声明变量时对其赋值

推荐在每行js代码加一个分号,代表语句的结束

JavaScript中代码注释:

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

常量和标识符

常量 :直接在程序中出现的数据值

标识符的规范即变量规范在上文已介绍过

  

           

 

语句描述
break 用于跳出循环。
catch 语句块,在 try 语句块执行出错时执行 catch 语句块。
continue 跳过循环中的一个迭代。
do ... while 执行一个语句块,在条件语句为 true 时继续执行该语句块。
for 在条件语句为 true 时,可以将代码块执行指定的次数。
for ... in 用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
function 定义一个函数
if ... else 用于基于不同的条件来执行不同的动作。
return 退出函数
switch 用于基于不同的条件来执行不同的动作。
throw 抛出(生成)错误 。
try 实现错误处理,与 catch 一同使用。
var 声明一个变量。
while 当条件语句为 true 时,执行语句块。

 

运算符

1.算术运算符

算术运算符用于执行变量与/或值之间的算术运算。

给定 y=5,下面的表格解释了这些算术运算符:

2.赋值运算符

赋值运算符用于给 JavaScript 变量赋值。

给定 x=10 和 y=5,下面的表格解释了赋值运算符:

3.字符串的+运算符

+ 运算符用于把文本值或字符串变量加起来(连接起来)。

要想在两个字符串之间增加空格,需要把空格插入一个字符串之中,或者把空格插入表达式中:

txt1="What a very ";
txt2="nice day";
txt3=txt1+txt2;

// or

txt1="What a very";
txt2="nice day";
txt3=txt1+" "+txt2;

// "What a very nice day"

4.如果把数字与字符串(数值)相加,结果将成为字符串。

x=5+5;
document.write(x);

x="5"+"5";
document.write(x);

x=5+"5";
document.write(x);

JS比较

1.比较运算符

// 一个例外是NaN,这个特殊的Number与所有其他值都不相等,包括它自己:
NaN === NaN; // false

// 唯一能判断NaN的方法是通过isNaN()函数:
isNaN(NaN); // true

// null和undefined

// null表示一个“空”的值,它和0以及空字符串''不同,0是一个数值,''表示长度为0的字符串,而null表示“空”。

// 在JavaScript中,还有一个和null类似的undefined,它表示“未定义”。

 

比较运算符在逻辑语句中使用,以测定变量或值是否相等。

给定 x=5,下面的表格解释了比较运算符:

 

2.逻辑运算符 &&、|| 、!  

逻辑运算符用于测定变量或值之间的逻辑。

3.条件运算符

JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。

// 语法:
variablename=(condition)?value1:value2 

// 例子
//如果变量 visitor 中的值是 "PRES",则向变量 greeting 赋值 "Dear President ",否则赋值 "Dear"。
greeting=(visitor=="PRES")?"Dear President ":"Dear ";

控制语句

1、条件控制语句

javascript支持俩个条件语句if和switch(选择控制语句)

if(条件){
   
    }else if(条件){
           
    }else{
   
}
if语句
switch (条件) {
    case 值1:语句1;break;
    case 值2:语句2;break;
    case 值3:语句3;break;
    default:语句4;
}
switch语句
//switch比else if结构更加简洁清晰,使程序可读性更强,效率更高。
 
首先要看一个问题,if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断;而 switch 只能对基本类型进行数值比较。两者的可比性就仅限在两个基本类型比较的范围内。
说到基本类型的数值比较,那当然要有两个数。然后重点来了——
if 语句每一句都是独立的,看下面的语句:
if (a == 1) ...
else if (a == 2) ...
这样 a 要被读入寄存器两次,1 和 2 分别被读入寄存器一次。于是你是否发现其实 a 读两次是有点多余的,在你全部比较完之前只需要一次读入寄存器就行了,其余都是额外开销。但是 if 语句必须每次都把里面的两个数从内存拿出来读到寄存器,它不知道你其实比较的是同一个 a。
于是 switch case 就出来了,把上面的改成 switch case 版本:
switch (a) {
        case 0:
                break;
        case 1:
}
                 
总结:
 
1.switch用来根据一个整型值进行多路分支,并且编译器可以对多路分支进行优化
2.switch-case只将表达式计算一次,然后将表达式的值与每个case的值比较,进而选
  择执行哪一个case的语句块
3.if..else 的判断条件范围较广,每条语句基本上独立的,每次判断时都要条件加载
  一次。
所以在多路分支时用switch比if..else if .. else结构要效率高。
两者比较

2、循环控制语句

JavaScript中支持四种循环语句,分别是:for、for in、while、do-while

for (初始值;条件;增量){
    ......
}
 
 
//例如1到100的和为多少
 
var x = 0,sum = 0;
 
for (x;x<101;x++){
    sum += x;
}
 
alert(sum);
 
//例如一个数组索引取值
 
//for语句
 
var names = ["lcg","Obama","MJ"];
 
for (var i=0;i<names.length;i++){
    console.log(i);
    console.log(names[i])
}
 
//for in 语句
 
var names = ["lcg","Obama","MJ"];
 
for (var i in names){
    console.log(i);
    console.log(names[i]);
}
for、for in
// while
 
while(条件){
    // break;
    // continue;
}
 
// 例如1到100的和
 
while (x<=100){
    sum+=x;
    x++;
}
 
alert(sum);
 
 
// do whill
 
//循环的代码至少执行一次,结果为1
  
        var num = 0;
        do {
            num++;
        }while (num>10);
while、do while

3.异常处理语句

try {
    // 这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行
}
catch (e) {
    // 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
    // e是一个局部变量,用来指向Error对象或者其他抛出的对象
}
finally {
     // 无论上述代码怎么,finally代码块始终会执行
}
 
 
// 主动跑出异常 throw Error('这是一种xxx引发的异常')

数据类型

字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。

基本数据类型

Number

JavaScript不区分整数和浮点数,统一使用Number表示

123;   // 整数123
0.456;   // 浮点数0.456
1.2345e3;  // 科学计数法表示1.2345x1000,等同于1234.5
-99;   // 负数
NaN;   // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity;   // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
// Number可以直接做四则运算,规则和数学一致
1 + 2; // 3
(1 + 2) * 5 / 2; // 7.5
2 / 0; // Infinity
0 / 0; // NaN
10 % 3; // 1,求余运算
10.5 % 3; // 1.5,求余运算
四则运算

 

转换:

  • 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( ) 返回原始数值

更多数值计算

常量

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( )
计算正切值。
Math

String

// 获取字符串长度
var s = 'Hello, World!';
s.length;  // 13


// 获取字符串指定位置的字符,使用下标方式访问,索引从0开始
var s = 'Hello, World!';
s[0];  // 'H'
s[6];  // ' '
s[7];  // 'W'
s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined
// 需要特别注意的是,字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果


// toUpperCase()把一个字符串全部变为大写
var s = 'Hello';
s.toUpperCase();  // 'HELLO'


// toLowerCase()把一个字符串全部变为小写
var s = 'Hello';
s.toLowerCase();  // 'hello'


// indexOf()会搜索指定字符串出现的位置
var s = 'hello, world';
s.indexOf('world');  // 7
s.indexOf('World');  // 没有找到自定的子串,返回-1


// substring()返回指定索引区间的子串
var s = 'hello, world';
s.substring(0, 5);  // 从索引0开始到5(不包括5), 返回'hello'
s.substring(7);  // 从索引7开始到结束, 返回'world'
常见的字符串操作
String.length 字符串的长度
String.trim() 移除空白
String.trimLeft() 移除左侧空白
String.trimRight() 移除右侧空白
String.concat(value, ...) 拼接
String.slice(start, end) 切片
String.split( ) 分割
String.search( ) 从头开始匹配,返回匹配成功的第一个位置(g无效)
String.match( ) 全局搜索,如果正则中有g表示找到全部,否则只找到第一个
String.charAt( ) 返回字符串中的第n个字符
String.replace( ) 替换与正则表达式匹配的子串。
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( ) 返回原始字符串值

 

常用转义字符

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

 Boolean

布尔类型仅包含真假,与Python不同的是其首字母小写。即true和false,也代表1和0,也是常作用于条件语句

  • ==      比较值相等
  • !=       不等于
  • ===    比较值和类型相等
  • !===  不等于
  • ||        或
  • &&      且

  Array(数组)

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( ) 将数组转换成一个字符串
Array 对象用于在单个的变量中存储多个值。
语法:

创建方式1:
var a=[1,2,3];

创建方式2:
new Array();     //  创建数组时允许指定元素个数也可以不指定元素个数。
new Array(size);//if 1个参数且为数字,即代表size,not content
    初始化数组对象:
    var cnweek=new Array(7);
        cnweek[0]="星期日";
        cnweek[1]="星期一";
        ...
        cnweek[6]="星期六";

new Array(element0, element1, ..., elementn)//也可以直接在建立对象时初始化数组元素,元素类型允许不同

var test=new Array(100,"a",true);
数组创建方式
//即数组内包含数组

var cnweek=new Array(7);
for (var i=0;i<=6;i++){
    cnweek[i]=new Array(2);
}
cnweek[0][0]="星期日";
cnweek[0][1]="Sunday";
cnweek[1][0]="星期一";
cnweek[1][1]="Monday";
...
cnweek[6][0]="星期六";
cnweek[6][1]="Saturday";
创建二维数组
// java中数组的特性,  规定是什么类型的数组,就只能装什么类型.只有一种类型.
// js中的数组特性1: js中的数组可以装任意类型,没有任何限制.
// js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长.
         var arr5 = ['abc',123,1.14,true,null,undefined,new String('1213'),new Function('a','b','alert(a+b)')];
        /* 
         alert(arr5.length);    //8
         arr5[10] = "hahaha";
         alert(arr5.length);    //11
         alert(arr5[9]);    // undefined 
        */

    
数组特性
// length
// 要得到Array的长度,使用length属性

var arr = [1, 2, 3.14, 'Hello', null, true];
arr.length; // 6
// 如果直接给Array的length赋一个新值会导致Array大小发生变化

var arr = [1, 2, 3];
arr.length; // 3
arr.length = 6;
arr; // arr变为[1, 2, 3, undefined, undefined, undefined]
arr.length = 2;
arr; // arr变为[1, 2]
// 请注意,如果通过索引赋值时,索引超过了范围,同样会引起Array大小的变化:

var arr = [1, 2, 3];
arr[5] = 'x';
arr; // arr变为[1, 2, 3, undefined, undefined, 'x']

// indexOf
// Array也可以通过indexOf()来搜索一个指定的元素的位置:

var arr = [10, 20, '30', 'xyz'];
arr.indexOf(10); // 元素10的索引为0
arr.indexOf(20); // 元素20的索引为1
arr.indexOf(30); // 元素30没有找到,返回-1
arr.indexOf('30'); // 元素'30'的索引为2

// slice
// slice()就是对应String的substring(),它截取Array的部分元素,然后返回一个新的Array:

var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']
// 如果不给slice()传递任何参数,它就会从头到尾截取所有元素。利用这一点,我们可以很容易地复制一个Array:

var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
var aCopy = arr.slice();
aCopy; // ['A', 'B', 'C', 'D', 'E', 'F', 'G']
aCopy === arr; // false

// push和pop
// push()向Array的末尾添加若干元素,pop()则把Array的最后一个元素删除掉:

var arr = [1, 2];
arr.push('A', 'B'); // 返回Array新的长度: 4
arr; // [1, 2, 'A', 'B']
arr.pop(); // pop()返回'B'
arr; // [1, 2, 'A']
arr.pop(); arr.pop(); arr.pop(); // 连续pop 3次
arr; // []
arr.pop(); // 空数组继续pop不会报错,而是返回undefined
arr; // []

// unshift和shift
// 如果要往Array的头部添加若干元素,使用unshift()方法,shift()方法则把Array的第一个元素删掉:

var arr = [1, 2];
arr.unshift('A', 'B'); // 返回Array新的长度: 4
arr; // ['A', 'B', 1, 2]
arr.shift(); // 'A'
arr; // ['B', 1, 2]
arr.shift(); arr.shift(); arr.shift(); // 连续shift 3次
arr; // []
arr.shift(); // 空数组继续shift不会报错,而是返回undefined
arr; // []

// sort
// sort()可以对当前Array进行排序,它会直接修改当前Array的元素位置,直接调用时,按照默认顺序排序:

var arr = ['B', 'C', 'A'];
arr.sort();
arr; // ['A', 'B', 'C']

// reverse
// reverse()把整个Array的元素给掉个个,也就是反转:

var arr = ['one', 'two', 'three'];
arr.reverse(); 
arr; // ['three', 'two', 'one']

// splice
// splice()方法是修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素:

var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
// 从索引2开始删除3个元素,然后再添加两个元素:
arr.splice(2, 3, 'Google', 'Facebook'); // 返回删除的元素 ['Yahoo', 'AOL', 'Excite']
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
// 只删除,不添加:
arr.splice(2, 2); // ['Google', 'Facebook']
arr; // ['Microsoft', 'Apple', 'Oracle']
// 只添加,不删除:
arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因为没有删除任何元素
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']

//concat
// concat()方法把当前的Array和另一个Array连接起来,并返回一个新的Array:

var arr = ['A', 'B', 'C'];
var added = arr.concat([1, 2, 3]);
added; // ['A', 'B', 'C', 1, 2, 3]
arr; // ['A', 'B', 'C']

// join
// join()方法是一个非常实用的方法,它把当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串:
 
var arr = ['A', 'B', 'C', 1, 2, 3];
arr.join('-'); // 'A-B-C-1-2-3'

// 多维数组
// 如果数组的某个元素又是一个Array,则可以形成多维数组,例如:

var arr = [[1, 2, 3], [400, 500, 600], '-'];
常用数组操作

Function函数

1、定义及分类

// 普通函数
    function func(arg){
        return 'hello';
    }
           
// 匿名函数
    var func = function(arg){
        return "lcg";
    }
   
// 自执行函数
    (function(arg){
        console.log(arg);
    })('123')

注意:js的函数加载执行与python不同,它是整体加载完才会执行,所以执行函数放在函数声明上面或下面都可以

2、参数

函数传参的个数可以小于实际需传参的个数,没传参的默认为undefined

参数传多不会报错,正常执行,默认多出来的参数不起作用

function man(name,age) {
    console.log(name,age);
}
man("Tony",18); //Tony 18
man("Tony");    //Tony undefined
man("Tony",18,19);  //Tony 18

3.arguments 对象

在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。

例如,在函数 sayHi() 中,第一个参数是 message。用 arguments[0] 也可以访问这个值,即第一个参数的值(第一个参数位于位置 0,第二个参数位于位置 1,依此类推)。

因此,无需明确命名参数,就可以重写函数:

function sayHi() {
  if (arguments[0] == "bye") {
    return;
  }

  alert(arguments[0]);
}

还可以用 arguments 对象检测函数的参数个数,引用属性 arguments.length 即可。

注意:与其他程序设计语言不同,ECMAScript 不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的函数都可以接受任意个数的参数(根据 Netscape 的文档,最多可接受 255 个),而不会引发任何错误。任何遗漏的参数都会以 undefined 传递给函数,多余的函数将忽略。

4、面向对象

在JS中并没有类、但是它使用了函数充当了类

function Foo (name,age) {
    this.Name = name;
    this.Age = age;
    this.Func = function(arg){
        return this.Name + arg;
    }
}
   
var obj = new Foo('lcg', 18);
var ret = obj.Func("handsome man");
console.log(ret);

上述代码:

  • Foo充当的构造函数
  • this代指对象
  • 创建对象时需要使用 new
var v = 123;
function foo(){
    var v = 456;
    function inner(){
        console.log(v)   // 456 
    }
    return inner
}

result = foo()
console.log(result())    // undefined

/*    题中、当代码编译完成,函数在未执行
前作用域就已经存在,出现函数嵌套产生作
用域链,寻找值时会从内到外一层一层找,
找不到则出错
*/


Name='root';
Age = 18;
function Foo(name,age){
    // this代指obj
    this.Name = name;
    this.Age = age;
    this.Func = function(){
        console.log(this.Name,this.Age);     // 'lcg' 666
        (function(){
            // this代指window
            console.log(this.Name,this.Age); // 'root' 18
        })();
    }
}
obj = new Foo('lcg',666);
obj.Func()

/* js中用new的方式创建类对象 */
this

时间处理

时间操作中有两种时间:

  • 时间统一时间
  • 本地时间(东8区)
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转换成毫秒表示
Date对象

BOM与DOM

http://www.cnblogs.com/0bug/p/7821966.html

posted @ 2017-11-10 00:30  0bug  阅读(228)  评论(0编辑  收藏  举报