Date对象,Error对象,arguments对象(重载),函数对象---JavaScript---学习笔记

Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
Date 对象会自动把当前日期和时间保存为其初始值。
创建
1.获取当前客户端系统时间

	 	var date = new  Date();
	 	console.log(date);

2.封装自定义时间 给定一个时间

	 	var d= new Date("2019/05/20 13:14:00:00");
	 	console.log(d);
	 				//年 月 日 时 分 秒
	 	var ye= new Date(2019,5-1,21,13,14,00);//2019/5/21 12:30:15     	Month:0~11总比现实中小1,需要修正
	 	console.log(ye);

3.复制一个日期对象

	 	var date1= new Date(ye);
	 	console.log(date1);

4.用毫秒数创建日期对象
Date 对象原理: Date 对象中保存了一个巨大的毫秒数

	 	console.log(date.getTime())
	 	console.log(new Date(date.getTime()));//通过毫秒数来创建日期对象
		console.log(date.getFullYear());
		date.setFullYear(2020);
		console.log(date.getFullYear());
		//date.setDay(5); 报错,Day没有set方法
		console.log(date.getDay());

		// Month:0~11总比现实中小1,需要修正
		console.log(date.getMonth()+1)
		// Date:1~31 Day:0~6  Hours:0~23  Minutes/Seconds:0~59

Error对象:对象在错误发生时提供了错误的提示信息。
try 语句块包含了未定义的/可能发生错误的代码 ,执行它会产生错误,catch 语句块会输出该错误的信息:

try {
		//可能发生错误的代码
	} catch(e) {//仅能在发生错误时执行
		// 错误代码处理:1、提示用户错误信息;2、记录系统日志
		console.log(e);
	}finally{
		//无论是否发生错误,都要执行的diamante
		//比如:释放资源
	}

Error对象:在错误发生时,自动创建,保存错误信息对象
常见6中错误类型:
在这里插入图片描述
主动抛出错误 抛出错误通常是为了提醒使用者错误的使用了程序
throw new Error(“错误信息”)

	var num =  prompt("请输数字:");
	var d =prompt("请输入小数位数");
	try{
		console.log(round(num,d));
	}catch(e){
		alert(String(e));
	}
	


	function round(num,d){
		if(isNaN(num) || isNaN(d)){
			throw new  Error("num 和 d必须是数字!")
		}else{
			num=num*Math.pow(10,d);
			num=Math.round(num);
			return num/Math.pow(10,d);
		}
		
	}

js中的重载效果
arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数,第一个参数在索引0处。例如,如果一个函数传递了三个参数,你可以以如下方式引用他们:
function (a,b,c){

arguments[0]=a
arguments[1]==b
arguments[2]c
arguments.length
3
}
what?
相同得函数名,不同的参数列表的多个函数,在调用时,可以根据传入的参数不同,自动选择对应的函数调用!!
why?
减轻调用者的负担 一个函数名,可以执行多种操作
when
一项任务,根据不同的参数,执行不同的操作流程(比如付款方式有许多种 pay 钱 卡 手机(二维码))
在javascript中如何用?
答:无法实现重载效果
替代 : 所有的函数对象中,都自动创建了一个arguments对象
arguments对象:专门保存传入函数的所有参数值的类数组对象 —当成数组来用
类数组对象:(object like array)
与 数组相同:下标 length for遍历
不同类数组对象是Object 不是array 无法使用Array的API
例子:

 function pay(){
		//根据参数个数来判断使用的支付方式
		//如果参数个数为0   扫码支付
		if(arguments.length==0){
			console.log("微信结账");
		}
		//如果参数个数为1   现金支付
		else if(arguments.length==1){
			console.log("现金支付,收款:"+arguments[0])
		}
		//如果参数个数为2   刷卡支付
		else{
			console.log('刷卡结账,卡号:'+arguments[0])
		}
	}
	pay();//微信结账
	pay(100);//现金结账
	pay("666666666","123456");//刷卡结账

函数对象(Function)

函数名仅是一个普通的变量, 函数定义其实是一个对象 函数名中保存的仅仅是对象的地址----引用类型

什么时候用函数:一段代码要被反复使用的时候 就要定义一个函数,在函数体内容反复执行
参数列表:只要函数中的步骤必须使用某些数据,并且这些数据不是固定不变的,就要定义参数
返回值:如果函数的调用者需要函数执行的结果,函数就必须有返回值

创建好了以后不调用,永远不会执行
**声明提前:**将所有的var声明的变量和function声明的函数 提到前当前作用域的顶部,集中创建
赋值留在原地!!!

注释:参考js预编译,函数提升,声明变量提升

创建:
第一种方式:直接创建

			function funName(参数列表){
				代码块
				return   返回值    return结束函数
			}

第二种方式:函数直接量

		var 函数名 =function(函数列表){函数体;return 返回值;};

不会被声明提前
when:只要不希望被声明提前时

例子

var fun=function(n){
		var a=100
		return n+1;
	}
	console.log(fun(6));

第三种方式:使用new

var fun=new Function(参数列表,"函数体;return 返回值")

例子
var compare = new Function("a","b","return a-b");
console.log(compare.length) ;    //函数的参数个数   函数的属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值