当前位置:   article > 正文

JavaScript内置对象及相关练习(math对象,date对象,string对象,array对象)_使用math对象中的floor()和random()方法,编写一个getrandom(min,max

使用math对象中的floor()和random()方法,编写一个getrandom(min,max)函数,用于生

内置对象

Math对象

math对象:不需要实例化,用来计算一些数学运算。可以直接使用其静态属性和静态方法。

强调:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像Math.sin() 这样的函数只是函数,不是某个对象的方法。不需要创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

math对象的常用属性和方法如下:

  • Math.PI :算术常量,计算圆周率PI的值
  • Math.abs(x) :返回x的绝对值
  • Math.max(args...):返回所有参数中的最大值   (无法找到数组中的最大值,只能找传入的参数中的最大值)
  • Math.min(args...):返回所有参数中的最小值
  • Math.pow(x,y) :返回x的y次方
  • Math.sqrt(x):返回x的算术平方根
  • Math.random():返回0.0到1.0之间的随机数
  • Math.round(x):返回的是最接近x的一个整数
  • Math.floor(x):返回一个小于等于x,并且与它最接近的整数
  • Math.ceil(x):返回一个大于等于x,并且与它最接近的整数

练习:猜数字(利用math对象的random()方法生成一个随机数)

  1. function getRandom(min, max){ //定义一个函数
  2. return Math.floor(Math.random()*(max - min + 1) + min) //生成一个[min,max]区间内不重复的随机数
  3. }
  4. var random = getRandom(1, 10);
  5. while (true) {
  6. var num = prompt('猜数字,范围在1~10之间');
  7. if (num > random){ //判断输入数字与随机生成的数字的大小
  8. alert('你猜大了')
  9. }
  10. else if (num < random){
  11. alert('你猜小了')
  12. }
  13. else{
  14. alert('恭喜你,猜对了')
  15. break
  16. }
  17. }

实现结果:

Date对象

Date对象:用于处理日期和时间,需要使用new Date()实例化对象才能使用。Date()是日期对象的构造函数,可以给该构造函数传参数。

创建date对象的语法: var myDate = new Date()

强调:Date 对象会自动把当前日期和时间保存为其初始值。

math对象的常用属性和方法如下: 

  • getYear():指定Date对象date的年份字段减去1900  
  • getFullYear():获取Date对象的年份
  • getMonth( ):获取Date对象的月份(返回值在0(一月)到11(十二月)之间。)
  • getDate( ):获取Date对象的日期(一月中的某一天(1-31之间的整数))          
  • getDay():获取一周中的某一天(星期几)
  • getHours( ):获取Date对象的小时数(0~23之间的整数)        
  • getMinutes( ):获取Date对象的分钟数
  • getSeconds( ):获取Date对象的秒钟数
  • getTime( ):表示Date对象距离1970年1月1日午夜(GMT时间)之间的毫秒数          
  • toLocaleDateString( ):将Date对象转换成本地的日期格式         
  • toLocaleString( ):将Date对象转换成本地的日期时间格式 

练习:“三天打鱼两天晒网”,若小王2008-5-12第一天学会开始打渔,那今天是打鱼还是晒网

  1. //“三天打渔,两天晒网”,若2008-5-12在打渔,那今天是打鱼还是晒网
  2. function countDown(time){
  3. var nowTime = + new Date() //获取当前时间
  4. var inputTime = + new Date(time) //给定时间
  5. var times = (nowTime-inputTime)/1000 //计算当前时间与给定时间的差值,单位为毫秒
  6. var d1 = parseInt(times/60/60/24) //将差值转换为天数
  7. d = d1%5
  8. if(d==0 || d==1 || d==2){
  9. //console.log("此人在打鱼")
  10. return "此人在打鱼"
  11. }else{
  12. //console.log("此人在晒网")
  13. return "此人在晒网"
  14. }
  15. }
  16. //countDown("2008-5-12")
  17. console.log(countDown("2008-5-12"))

实现结果:

String对象

String对象:String 对象用于处理已有的字符块。是字符串对象,必须使用new String()来创建

string对象的常用属性和方法:

  • charAt(n):返回n位置上的字符
  • charCodeAt(n):返回n位置上字符的ASCII码值         
  • concat(s1,s2,s3...):连接多个字符串         
  • split('分隔符'):将字符串按给定的分隔符,转换成字符串数组         
  • substr(start, length):从start开始提取length个字符构成一个新串         
  • substring(from, to):提取from和to(不含to)之间的字符构成一个新串          
  • toLowerCase():将串中的大写字符转换为小写,不影响原串,返回一个新串
  • toUpperCase():将串中的小写字符转换为大写,不影响原串,返回一个新串    
  • replace(str1, str2):使用str2替换字符串中的str1,返回替换结果,只会替换第一个str1

练习

  1. var s1 = new String('159-1234-5678')
  2. var s2 = s1.substr(0,3) //从0开始提取三个字符构成新串
  3. console.log(s2)
  4. var s3 = s1.substring(4,7) //提取从4开始到7(不包含7)的字符并构成一个新的字符
  5. console.log(s3)
  6. var str = 'abCDEF123'
  7. var st = str.toLowerCase() //将大写字符串转换为小写
  8. console.log(st)
  9. var sp = str.toUpperCase() //将小写字符串转换为大写
  10. console.log(sp)
  11. var str = s1.replace('159','abd') //用abd替换第一个出现的159
  12. console.log(str)

实现结果:

 Array对象

JavaScript数组对象提供了添加或删除元素的方法,可以实现在数组的末尾或开头添加新的数组元素,或在数组的末尾或开头移出数组元素

1、判断数组对象的方法:  

isArray(对象名)

instanceof:   对象名  instanceof  Array 

2、给数组添加数据       

push(数据) : 在数组的末尾添加数据

unshift(数据):在数组的开头添加数据 

3、删除数组中的元素

pop():删除数组的最后一个数据

shift():删除数组的第一个元素

4、数组元素排序

sort():数组排序,改变原数组,返回新数组

注意:默认是按字符编码顺序排序;若要按其他顺序排序,需自定义函数

  1. function numberOrder(a,b){
  2.     return a-b
  3. }
  4. var arr = [1800,1500,3000,900,1200,2100]            
  5. arr.sort(numberOrder)

 reverse():颠倒数组中元素的位置

5、数组的索引

indexOf(数据):返回给定值的第一个索引,若给定值在数组中不存在,则返回-1

lastIndexOf(数据):返回给定值的最后一个索引,若给定值在数组中不存在,则返回-1

6、数组转字符串

toString():将数组元素转换成字符串,元素之间用逗号分隔

join('分隔符'):将数组元素连接到字符串中

7、连接数组

concat():连接数组,生成新数组,不影响原数组

8、返回数组的部分元素:

slice(start,end):一个新数组,包含从start到end(不包括该元素)指定的array元素。

9、删除数组元素:

splice(start):删除从start开始的数组元素

splice(start,delCount):删除从start开始的delCount个元素

splice(start,delCount,value...):删除从start开始的delCount个元素,将value插入到start开始的位置

练习:

  1. //将数组变为字符串
  2. var arr = [100,12.5,33.8,44]
  3. console.log(arr.toString())
  4. //将字符串以-连接起来
  5. var str = ''
  6. str = arr.join('-') //将字符串以-连接起来
  7. console.log(str)
  8. //console.log(arr.join('-')) //另一种写法
  9. //连接数组,生成新数组,不影响原数组
  10. var newArr = arr.concat(450,550)
  11. console.log(newArr)
  12. //删除数组元素
  13. console.log(arr.slice(1,3))
  14. console.log(arr.splice(1))
  15. //删除从1开始的两个元素
  16. arr.splice(1,2)
  17. console.log(arr)
  18. arr.splice(1,2,55,45)
  19. console.log(arr)

实现结果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/550316
推荐阅读
相关标签
  

闽ICP备14008679号