JavaScript教程-19-Global对象的使用

对Global对象中的常用的方法进行练习和说明,对与方法的使用和说明在练习的注释中有比较详细的解释。看代码的时候注意看注释。有些时候注释比代码更重要。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Global对象学习</title>
		<script type="text/javascript">
			//Global 是一个单体内置对象,它的属性和方法直接使用即可。该对象没法访问(不存在)。
			//Global 对象中的一些全局方法的学习
			
			var url = "http://www.bjsxt.cn?uname=zhangsan&readname=张三";
			//对url进行编码的两个方法
			//encodeURI
			//encodeURIComponent
			//encodeURI: 不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号
			var str1 = encodeURI(url);
			//encodeURIComponent: 则会对它发现的任何非标准字符(非字母和数字)进行编码
			//encodeURIComponent 使用更多一些。可以对URI的局部进行编码,可以让局部内容包含一些URI保留字符。
			var str2 = encodeURIComponent(url);
			alert(str1);//http://www.bjsxt.cn?uname=zhangsan&readname=%E5%BC%A0%E4%B8%89
			alert(str2);//http%3A%2F%2Fwww.bjsxt.cn%3Funame%3Dzhangsan%26readname%3D%E5%BC%A0%E4%B8%89
			//对url 进行解码的两个方法
			//decodeURI:用于解码encodeURI
			//decodeURIComponent() 用于解码 encodeURIComponent
			alert(decodeURI(str1));//http://www.bjsxt.cn?uname=zhangsan&readname=张三
			alert(decodeURIComponent(str2));//http://www.bjsxt.cn?uname=zhangsan&readname=张三
			
			//eval:一个非常强大有用的方法,可以将一个字符串转换为js代码。可以理解为一个
			//非常强大的js代码解析器。
			var str = "var a = 10; var b = 20;";
			eval(str);//相当于定义了两个变量。
			alert(a + b);//30
			//eval 在数组中的使用。
			str = "var arr = [1,2,3]";
			eval(str);
			alert(arr.length);//3
			//eval 在对象中的使用
			str = "{name:'张三',age:20}";
			//将字符串转换为对象
			var obj = eval("("+str+")");
			alert(obj.name);//张三
			
			//parseInt(string [,radix]):将字符串转换为整数。
//			参数:
//  		string:要被解析的值。如果参数不是一个字符串,则将其转换为字符串。字符串开头的空白符将会被忽略。
//  		radix:一个2到36之间的整数值,用于指定转换中采用的基数。
//      	如果省略该参数或者为0,则数字将以 10 为基础来解析。
//      	如果string以 “0x” 或 “0X” 开头,将以 16 为基数。
//      	如果string以“0” 开头,在ECMA3中被认为是8进制;但是在ECMA5中已经强制规定此情况默认是10进制
//      	如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
			alert(parseInt("10")+1);//11
			alert(parseInt("0x10")+1);//17
			alert(parseInt("10b")+1);//11 特殊情形
			alert(parseInt("a10b")+1);//NaN
			alert(parseInt("11.1")+1);//12
			alert(parseInt(true)+1);//NaN
			//parseFloat:将字符串转换为浮点数。
			alert(parseFloat("10")+1);//11
			alert(parseInt("10b")+1);//11  特殊情形 从数字开始统计,直到非数字为止。
			alert(parseFloat("a10b")+1);//NaN
			alert(parseFloat("11.1")+1);//12.1
			
			//isNaN():用来判断一个值不是数值类型,如果是返回false,如果不是返回true。
			alert(isNaN(0));//false
			alert(isNaN(NaN));//true
			alert(isNaN("10"));//false
			alert(isNaN(true))//false
			alert(isNaN("10a"));//true
			alert(isNaN("a10a"));//true
			alert(isNaN("true"))//true
			//补充
			//在js中,NaN ,即非数值(Not a Number)是一个特殊的数值,
			//这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。
			//任何与NaN进行运算的结果均会为NaN,NaN与自身不相等(NaN不与任何值相等)。
			//NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字
			alert(NaN == NaN);//false
			alert(NaN === NaN);//false
			
		</script>
	</head>
	<body>
	</body>
</html>

 

PS:笔者有大量的学习资料:java、python、大数据、人工智能、前端等。需要的小伙伴请加群:711408961

笔者的b站中有一些教学视频分享。感兴趣的小伙伴可以关注:https://space.bilibili.com/412362068

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值