JS学习总结-----JavaScript内置对象

一.Math对象

Math对象用于执行数学计算。Math对象不同的是,它在使用时不需要创建对象,而是直接使用Math来访问属性或方法的。比如Math.PI。 更多方法请查阅MDN Web Docs

案例 利用Math 实现猜数字小游戏 (1~10之间的整数 并且只有3次机会)

<script>
function getRandom (min,max) {
						return Math.floor(Math.random() * (max-min + 1))+min;
					}//随机生成1~10的整数我们需要用到Math.random()的方法
					var random = getRandom (1,10);
					console.log(random);
					for (var i = 1; i < 4; i++) {//使用for循环控制你猜的次数
					var num = prompt('请输入1-10的整数 这是第'+i+'次机会(共3次机会)')
						if (num > random){
							alert("你猜大了");
		                 if(i==3){alert('很遗憾你没有机会了')}
						}else if ( num < random) {
							alert('你猜小了');
		                 if(i==3){alert('很遗憾你没有机会了')}
						}else{
							alert('用了'+i+'次猜对了:这个数是'+random)
							break; //当我们猜对了直接退出整个循环
						}
					}
</script>

二. Date对象

Date对象用来处理日期和时间的。它和Math不同,使用Data对象需要创建(new Date([日期参数]) )如果不写日期参数的用于获取系统当前的日期和时间。写参数分为两种 日期字符串 格式为 月 日,公元年  时:分 :秒” 。还有一律是数值 “年, 月, 日,时,分,秒”

Date对象的常用方法:

getDay() 根据本地时间返回Date对象的星期数 注意取值为0~6。   getMonth() 根据本地时间返回Date对象的月份数 注意取值为0~11。更多方法请查阅MDN Web Docs

案例 倒计时的实现

<script type="text/javascript">
			function countDown(times) {
				var time = +new Date();//根据本地时间返回自1970年1月1日 00:00:00以来的毫秒数
				var gettime = +new Date(times);//根据输入的时间返回自1970年1月1日 00:00:00以来的毫秒数
				var counttimes = (gettime - time) / 1000;//得到输入未来的时间与现在时间的秒数
				var d = parseInt(counttimes/60/60/24);//根据得到的秒数换算成天数
				d = d < 10 ? '0' + d : d;//用于显示美观 如果时7 则显示07 也可以用if()...else语句
				var h = parseInt(counttimes/60/60%24);//根据得到的秒数换算成小时数
				h = h < 10 ? '0' + h : h;
				var m = parseInt(counttimes/60%60);//根据得到的秒数换算成分钟数
				m = m < 10 ? '0' + m : m;
				var s = parseInt(counttimes%60);//根据得到的秒数换算成秒数
				s = s < 10 ? '0' + s : s;
				return '距离2023年1月1日还有 '+d+'天 '+h+'时 '+m+'分 '+s+'秒';
			}
			var countDowns = countDown('2023,1,1 00:00:00');
			console.log(countDowns);

效果展示:

三.Array对象

 Arry对象是指可以存储多个相同或不同类型的值的对象,其中存储的每个值称为数组元素。

创建Array对象 

方式一 :var 数组对象名 = [元素1,元素2,.........];

方式二:var 数组对象名=new Array(元素1,元素2,......);

注意 var arr = [3];//创建了只有一个元素的数组,这个元素为3                                                                  var arr =new Array(3);//创建了一个有3个元素的数组 这三个元素都为undefined                              var arr =new Array(2,3);//创建了有两个元素的数组,这两个元素分别为2和3

数组对象常用的属性 

 length :获取数组的长度(就是数组中元素的个数)

数组对象常用的方法 

 push() 向数组的末尾添加一个或多个元素,返回的时新数组(添加新元素之后的数组)的长度。reverse()颠倒数组中元素的顺序。

检测是否为数组:数组对象名 instanceof Array 返回的值是true或者false                                          H5新增的方法检测数组: Array.isArray(参数)  返回的值是true或者false                                          查询数组中元素的索引 :  indexOf( 数组元素)   如果数组中没有这个元素 则返回-1                      更 多方法请查阅MDN Web Docs

案例 数组的去重(重点) 

<script type="text/javascript">
			function removal(arr) { //封装这个函数 便于以后进行调用
				var arr1 = [];
				for (i = 0; i < arr.length; i++){
					if (arr1.indexOf(arr[i]) == -1) {//检测arr1数组中有没有arr[i]这个元素,没有的话则返回-1 (数组去重的关键点)
						arr1.push(arr[i]);//然后运用push()方法将arr[i]存入arr1数组中
					}
				}
				return arr1;
			}
			var demo = removal([1,2,3,6,4,3,7,6]);
			console.log(demo);
			console.log(demo instanceof Array);//返回true
			console.log(Array.isArray(demo));//返回true
		</script>

运行截图

 四.String对象

 String对象包装对象,用来存储和处理文本。

String对象的创建 var String 对象名 = new String( 字符串)

字符串对象常用的属性 length 返回的是字符串的长度(字符数)。

字符串对象常用的方法 charAt(位置) 返回String对象指定位置处的字符                                                                         indexOf( 查找的字串,[index])  index是开始的位置  返回的是-1 是没有这个值     更多方法请查阅MDN Web Docs

 案例一 查找字符串 "abcdabcdaabdadhhdhauo"中a出现的位置及次数

	var str = "abcdabcdaabdadhhdhauo";
			var index = str.indexOf('a');//找出出现第一个a的位置
			var num = 0;
			while (index !== -1) {
				console.log(index);
				num++;
				index = str.indexOf('a',index+1);//因为indexOf之查找第一个a,所以需要当前的索引加1继续查找
			}
			console.log('a出现的次数是'+num);

运行截图:

 

 小作业

<script type="text/javascript">
			// 给定一个字符串,如:"abaasdffggghhjilckofddss$ss3444343"问题如下:
			// 1、字符串的长度
			var str = "abaasdffggghhjilckofddss$ss3444343";
			console.log(str.length);
			// 2、取出指定位置的字符,如:0,3,5等
			console.log(str.charAt(0));
			console.log(str.charAt(3));
			console.log(str.charAt(5));
			// 3、查找指定字符是否在以上字符串中存在,如:i,c,等
			console.log(str.indexOf('i')) //如果返回了-1则表示i这个字符不存在于str中。
			// 4 替换指定的字符,如:g替换为22,ss昔换为b等操作方法
			while (str.indexOf('g') !== -1) {
			str = str.replace('g','22');
			}
			console.log(str); //返回abaasdff222222hhjilckofddss$ss3444343
			// 5、截取指定开始位置到结束位置的字符串,如:取得1-5的字符串
			console.log(str.slice(1,5));
			// 6、找出以上字符串中出现次数最多的字符和出现的次数
			// 思路:我们先遍历这个字符串对象,然后创建一个新的空字符对象,
			// 字符串对象出现的第一个字符我们令其等于1存入新的空字符对象作为其属性,
			// 出现相同的便加一
			var str1 = {};
			for (var i = 0; i < str.length; i++) {
			var chars = str.charAt(i); //返回的是字符
			if (str1[chars]) {
				str1[chars]++;
			}else {
				str1[chars] = 1;
			}
			}
			console.log(str1);
			var max = 0;
			var maxName = '';
			for (var k in str1 ) {
				if(str1[k] > max) {
					max = str1[k];
					maxName = k;
				}
			}
			console.log('出现次数最多的是'+ maxName+'出现了'+max+'次');
</script>

运行截图

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值