• JS内置对象Math和String


    Math对象

    js内置数学对象 不是一个构造函数 所以不需要使用new来调用 而是直接使用里面的属性和方法即可

    • Math.PI 圆周率
    • Math.floor 向下取整 小数点直接省略
    • Math.ceil 向上取整 有小数点直接+1
    • Math.round 四舍五入 就近原则(-1.5 结果是 -1)
    • Math.abs() 绝对值 就是这数字到原点(0)的距离 有隐式转换 会把字符串转成数字  不是数字的字符串NaN
    • Math.max() 最大值   Math.min() 最小值  要传入要比较的参数(数组) 其中有 非数字的 就返回NaN 不写参数直接返回  Infinity-无穷大  -Infinity-负的无穷大

    代码演示 顺便封装一个建议的取最大最小值的函数

     

    1. console.log(Math.PI) // 一个属性 圆周率
    2. console.log(Math.max(1,2,3)) // 其中有 非数字的 是NaN
    3. console.log(Math.max()) // -Infinity 什么都没有 负的无穷大
    4. var myMath = {
    5. PI:Math.PI,
    6. max:function(){
    7. var max = arguments[0]
    8. for(var i = 0;i < arguments.length;i++){
    9. if(max < arguments[i]){
    10. max = arguments[i]
    11. }
    12. }
    13. return max
    14. },
    15. min:function(){
    16. var min = arguments[0]
    17. for(var i = 0;i < arguments.length;i++){
    18. if(min > arguments[i]){
    19. min = arguments[i]
    20. }
    21. }
    22. return min
    23. }
    24. }
    25. console.log(myMath.PI) 圆周率
    26. console.log(myMath.max(-1,5,0)) 5
    27. console.log(myMath.min(-1,5,0)) -1
    28. console.log(Math.floor(1.9)) 向下取整 结果 1
    29. console.log(Math.ceil(1.1)) 向上取整 结果 2

    Math 获取随机数

    Math.random()  不用填写参数  对象随机数方法  返回一个随机的小数 0 =< x <1

    官方推荐写法 得到两个数之间的随机整数 并且包括这两个数

     Math.floor(Math.random() * (max - min +1)) +min

    1. console.log(Math.random())
    2. function getRandom(min,max){
    3. return Math.floor(Math.random() * (max - min +1)) +min;
    4. }
    5. // 随机点餐
    6. var food = [
    7. '烤肉饭',
    8. '怀府源拉面',
    9. '相思味快餐',
    10. '清风炒面',
    11. '烩面',
    12. '饸烙面',
    13. '麻辣香锅',
    14. '山西刀削面',
    15. '哨子面',
    16. '蜀蜀的粉',
    17. '旋转小火锅',
    18. '小过道快餐',
    19. '美团双人餐',
    20. '油泼面',
    21. ]
    22. console.log("明天中午吃" + food[getRandom(0,food.length-1)])
    23. // 三次机会猜牌点
    24. function getRandom(min,max){
    25. return Math.floor(Math.random() * (max - min +1)) +min;
    26. }
    27. var num = getRandom(1,13)
    28. var i = 0
    29. while(i<3){
    30. var aaa = prompt("猜猜是哪一张扑克牌(1-13)")
    31. if(aaa > num){
    32. alert("猜大了")
    33. }else if(aaa < num){
    34. alert("猜小了")
    35. }else if(aaa = num){
    36. alert("猜对了")
    37. break
    38. }
    39. i++;
    40. }
    41. if(i >= 3){
    42. alert('三次机会已经用完')
    43. }
    44. console.log("答案是"+num)
    45. console.log("你猜的结果"+aaa)

     

    String 对象

    srting.indexOf('xx'):查找xx在string 第一次出现的索引值 可传入第二个参数 从被检索的哪一处开始向后查询  可以使用while 循环 进行字段 全部检索

    1. var article = "后购玉者引众人评理,众人皆言二人有约不守,有言无信。\n匠人自觉面颊臊热,躬身拱手曰:余琢玉十七载,未尝失信于人,此玉誓死必琢之!\n青年虽有苦却难言,愤然离席曰:吾借刀笔,撰雕玉之文以明心志,告辞!\n众购玉者重金求玉而不得,遭人耻笑,胸中大悲,不能自已。\n今人评曰:玉不琢,不成器。人无信不立,业无信不兴。\n二人背信毁约,购玉者何错之有?\n世人吁二人冰释前嫌,合力琢玉成器,棠玉既成,以约交付,方为正道。\n匠人携青年,青年助匠人,顾百姓之安危,救民众于水火,创绝世之佳作,流芳百世!"
    2. console.log(article)
    3. var index = article.indexOf("青年"),index2 = article.indexOf("匠人")
    4. var appear1 = [],appear2 = []
    5. while(index !== -1){
    6. appear1.push(index)
    7. index = article.indexOf("青年",index+1)
    8. }
    9. console.log("青年出现了" +appear1.length + "次")
    10. console.log("分别在" + appear1)
    11. while(index2 !== -1){
    12. appear2.push(index2)
    13. index2 = article.indexOf("匠人",index2+1)
    14. }
    15. console.log("匠人出现了" +appear2.length + "次")
    16. console.log("分别在" + appear2)

    // 根据位置返回字符

    console.log(article.charAt(156))

    // ASCII 码  键盘对应的码 判断用户按下了哪一个键

    console.log(article.charCodeAt(156))

    // H5 新增

    console.log(article[99])

    // 文中出现最多的字符串

    var o ={}

    for(var i = 0;i

      var chars = article.charAt(i)

      if(o[chars]){

        o[chars]++

      }else{

        o[chars] = 1

      }

    }

    console.log(o)  

    //2. 遍历对象

    var max = 0

    var ch = ""

    for(var k in o){

      // k 得到的是 属性名

      // o[k] 得到的是属性值

      if(o[k] > max){

        max = o[k]

        ch = k

      }

    }

      console.log("出现次数最多是" + ch +"它出现了" + max + "次")

     

    1. // 字符串的拼接和截取
    2. var myName = "wusonggang"
    3. console.log(myName.concat("WEB")) // 一般用加号多一些
    4. // 2.substr(起始的位置,要截取的长度)
    5. console.log(article.substr(84,10))
    6. // 3.slice(起始的位置,截取最后的位置)
    7. console.log(article.slice(129,199))
    8. // 3.substring(起始的位置,截取最后的位置)
    9. console.log(article.substring(77,111))
    10. // 替换字符
    11. console.log(article.replace("青年","JAVD")) // 只会替换第一个
    12. // 用 条件判断 全部替换
    13. while(article.indexOf("匠人") !== -1){
    14. article = article.replace("匠人","阿钢")
    15. }
    16. console.log(article)
    17. // 字符转换为数组 split('分隔符') 和join 对应
    18. var str7 = "red,pink,black"
    19. console.log(str7.split(","))
    20. var str8 = "red&pink&black"
    21. console.log(str8.split("&"))
    22. var str9 = "WuSongGang"
    23. console.log(str9.toLowerCase())// 全部小写
    24. console.log(str9.toUpperCase())// 全部大写

     

  • 相关阅读:
    java计算机毕业设计至臻阁古董拍卖网源码+数据库+系统+部署+lw文档
    超详细!DALL · E 文生图模型实践指南
    PPT 生成整数序列字典序的r-组合算法
    OAI框架下OFDM调制过程
    Java面试题大全(整理版)1000+面试题附答案详解,最全面详细,看完稳了
    数据分析三剑客之一:Pandas详解
    高衍射效率的偏振无关透射光栅的分析与设计
    gitee-git使用文档总结
    java-php-python-ssm亿互游在线平台网站计算机毕业设计
    ib课程北京国际学校哪里有?
  • 原文地址:https://blog.csdn.net/benlalagang/article/details/126378826