Date对象:
基本使用:
//1.当前时间
var d1 =new Date();console.log(d1);
//2.2008-8-8 20:00:00 注意月份从0起始
var d2 =new Date(2008,7,8,20,0,0);console.log(d2);
//注意:上面这样构造,最少传递2个参数
var d3 =new Date(2008,7);console.log(d3);
//4.距离元年毫秒数,计算机元年:1970-1-1 0:0:0
console.log(d1.getTime());
var d4 =new Date(1457141644723);
console.log(d4);//5.传递字符串构造,注意:月份不再需要减一
var d6 =new Date('2008-8-8 9:47');
获取时间信息:
//获取年份2016
console.log(d1.getFullYear());
//获取月份0-11
console.log(d1.getMonth());
//获取日期几号 1-31
console.log(d1.getDate());
//获取星期几 0-6 星期天是0
console.log(d1.getDay());
//获取小时 0-23
console.log(d1.getHours());
//获取分 0-59
console.log(d1.getMinutes());
//获取秒 0-59
console.log(d1.getSeconds());
//获取毫秒 0-999
console.log(d1.getMilliseconds());
//获取1970年至今的毫秒数
console.log(d1.getTime());
以上所有方法除了getDay()均有相对应的set方法
时间格式的转换
//Sun Mar 06 2016 10:18:34 GMT+0800 (中国标准时间)
console.log(d1.toString());
//Sun Mar 06 2016
console.log(d1.toDateString());
//10:20:25 GMT+0800 (中国标准时间)
console.log(d1.toTimeString());
//2016/3/6
console.log(d1.toLocaleDateString());
//上午10:21:17
console.log(d1.toLocaleTimeString());
//Sun, 06 Mar 2016 02:22:30 GMT
console.log(d1.toGMTString());
//Sun, 06 Mar 2016 02:22:30 GMT
console.log(d1.toUTCString());
Number对象
//Number对象创建
var num1 =new Number(5);
var num2 =new Number(1.5);
var num3 =new Number();
console.log(num3);
var num4 =new Number('hello');
console.log(num4);
//使用Number()转换将得到值类型变量
var num5 =Number(5);
console.log(num5);
Number属性:
MAX_VALUE JS中可表示最大值
MIN_VALUE js中可以表示最小值
NaN 表示非数字
NEGATIVE_INFINITY 负无穷大,溢出时返回该值
POSITIVE_INFINITY 正无穷大,溢出时返回该值
方法:
toExponential(n):把数字转化为指数计数法表示的字符串
toFixed(n):把数字转换为定点表示法表示的字符串
toPrecision(n):把数字格式化为定点表示法或者指数计数法表示的字符串,n的有效范围是1-21,表示所有数字的位数
toString(n)转换为指定进制的字符串
Boolean对象
//Boolean
var b1 =new Boolean();//false
var b2 =new Boolean(false);//false
var b3 =new Boolean(0);//false
var b4 =new Boolean(0.0);//false
var b5 =new Boolean(undefined);//false
var b6 =new Boolean(null);//false
var b7 =new Boolean(NaN);//false
var b8 =new Boolean("");//false
//除了上面的以外都是true
var b9 =new Boolean(Number.NEGATIVE_INFINITY);//true
var b10 =new Boolean('0');//true
var b11 =new Boolean('null');//true
var b12 =new Boolean([]);//true
var b13 =new Boolean({});//true
类型转换为布尔时
var b14=Boolean();//false
var b15=Boolean(0);//false
var b16=Boolean(new Object());//true
错误处理:
错误,指程序中的异常状态。解释器会为错误创建Error对象,描述错误发生情形,并抛出之。通过JS提供的异常处理语句可以用结构化的方式处理错误
常见内置错误类型:TypeError/RangeError/SyntaxError/ReferenceError/EvalError/URIError
Error对象
属性:message/name/stack(部分浏览器支持)
方法:toString()
try...catch...finally
try...catch成对出现,缺一不可
try{
//此处是业务功能代码
//这些代码可能引发错误
var m =new Math();
}catch(error){
//此处负责错误处理
console.log(error.name,error.message);
alert('请不要使用new创建Math');
}finally{
//此处是出口语句,不论错误发生与否都要执行
//因此一般用来执行一些清扫、收尾的工作
}
throw语句:可以抛出错误
throw 'error';
throw new Error('error');
通常用于提示致命错误给其他程序员
function connect(url){
if(!url){
//url没传递
throw '请传递url参数';
}
throw '老弟,函数还没写哪!';
}
Function对象
在JS中,函数也是以对象形式存在的。每个函数都是一个Function对象的实例。
function add(){}
console.log(typeof add);//function
函数名,本质上是一个变量名,指向某个Function对象的引用
arguments对象:每个函数对象都有一个arguments属性;此属性只能在函数体内使用。代表所有参数组成的数组。
length属性:实际传入参数个数
callee:返回当前函数的引用(匿名函数可以使用该属性实现递归调用)
arguments.callee()
创建函数
使用function关键字声明
直接量方式
var fn =function(){}
new Function('a','b','return a+b;')