js入门(八)——Global与Date

Global

基础

         严格意义上,js中所有的全局变量、全局方法都是不存在的,因为这些变量方法都存在于Global对象中。Global对象不能直接new,也不能直接使用,在Scripting引擎初始化时被实例化,并且使其中的方法、属性可立即使用。

        对于Global对象中的方法,可以直接使用。如面使用的parseInt()就属于Global中的方法。

        简单点理解就是:Global定义了一堆的方法,这些方法在任何js代码中都可直接使用

常用方法

        encodeURI():类似于android中的URLEncoder.encode(),将uri进行加密。

        decodeURI():跟encodeURI()相反,对传入的值进行解密。两者示例如下:

		var uri = "https://www.baidu.com/s?wd=百度傻逼";
		document.write(encodeURI(uri));//输出值为result。此处就直接使用encodeURI,不需要new Global对象。
		var result = "https://www.baidu.com/s?wd=%E7%99%BE%E5%BA%A6%E5%82%BB%E9%80%BC";
		document.write(decodeURI(result));//输出值为uri
        encodeURIComponent():类似于encodeURI(),也是为uri进行加密。但会将“:”、“/”等符号也进行加密。

        decodeURIComponent():与encodeURIComponent()对应,用encodeURIComponent()加密的uri,用decodeURI无法完全解密。这两个方法最常用。如下:

		var uri = "https://www.baidu.com/s?wd=百度傻逼";
		document.write(encodeURIComponent(uri));//输出值为result
		var result = "https%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3D%E7%99%BE%E5%BA%A6%E5%82%BB%E9%80%BC";
		document.write(decodeURIComponent(result));//输出值为uri

        escape()与unescape():前者是对文字进行加密,后者进行解密的。同encodeURI等类似,只不过两者加密得到的值不同。

        eval(String):计算某个字符串,并执行其中的js代码该方法可以将string格式的数据转换成相应的对象或者执行其中的js代码。类似于android中的JSONObject obj = new JSONObject(s),它可以将string格式的jsonobject转换成JSONObject对象,然后再进行解析。如:可将string形式的数组转换中js中实实在在的数组。参数中要含有要计算的js表达式或者要执行的语句。返回通过计算string得到的值。如:

		var ju = "var a = 10;var b = 20;document.write(a*b);";
		eval(ju);//执行js语句,得到变量a,b,并且同时执行document.write()语句
		alert(a);
		document.write("<br />")
		var r1= eval("2*2;");//r1 === 4;eval执行了参数中的2*2语句。
		document.write(typeof(r1)+"----"+r1);//输出为:number----4
		document.write("<br />")
		//将一个字符串格式的数组转换成js中的数组对象
		var arrayStr = "[\"var c = 10;\",\"var d = 20;\",\"c+d;\",3]";
		var array = eval(arrayStr);//array为一个数组
		for(var a in array)
			document.write(array[a]);
		document.write("<br />")
		//将一个string格式的对象通过eval转换成js中的对象。
		var objStr = "{name:\"这是name\",age:13}";
		var obj = eval("("+objStr+")");//这里比较特别,必须在前后加上(),否则不成功
		document.write(obj.name);//调用对象中的属性

        注意:在将string类型的对象转换成js对象时,必须在前后加上()

        parseInt()与parseFloat():将string转换成number类型。

        isNaN():is not a number,如果不是一个数字返回true,否则返回false。string类型的变量如果只由纯数字和小数点组成,该方法也返回true。如:

		function write(params){
			document.write(params);
			document.write("<br/>");
		}
		var s = "00000.";
		write(isNaN(s));//false
		var b = "89643250a";
		write(isNaN(b));//true,因为最后含有字母

Date

        日期类型。

        getFullYear():获取当前年。

        getMonth():获取月。从0开始。

        getDate():获取日。

        getDay():获取星期。

        getHours():获取时。

        getMinutes():获取分

        getSeconds():获取秒

        getTime():获取当前时间的毫秒值。如下:

		function write(params){
			document.write(params);
			document.write("<br/>");
		}
		var date = new Date();
		write(date.getFullYear());//年
		write(date.getMonth() + 1);//月
		write(date.getDate());//日
		write(date.getHours());//时
		write(date.getMinutes());//分
		write(date.getSeconds());//秒
		write(date.getDay());//星期
		write(date.getTime());//毫秒值




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值