js-day09Math对象&进制

简介: js-day09Math对象&进制

js-day09Math对象&进制


01.回顾

1数组Array
2简单对象
  -创建方法
    构造函数
    字面量
  -属性和方法
    用点语句访问
      名字.属性  名字.方法()
  -遍历简单对象
    for(var key in obj){
      //obj[key] 遍历属性值
    }
03字符串、数值、布尔值是一个包装数据类型
  -字符串对象
    构建方法:
      字面量
      构造函数
    使用点语句变成复杂数据类型
  -属性 .length
  -索引 str[i]  不能赋值
    方法:
       charAt
       indexOf
       lastIndexOf
       trim
       split
       toLowerCase
       toUpperCase
       substr
       substring

02.ASCII码–美国标准信息码

   1、十进制
          0   1  2 3 4 5 6 7 8 9
          0-9的数字表示
          满10进一
  2、二进制  
      0-1 数字表示
      满2进一
      0  1  10   11  100
  3、电脑 二进制
   计算机只能存储二进制数字
   键盘上的所有符号都做了二进制编码
   iso8859 实现 ASCII  
   能够识别中文的代码:
      GBK 简体中文码
      unicode utf-8(统一)
   unicode 万国码,统一码  
   utf-8 实现
   utf-16
   utf-32
4、字符比较 【编码应用】
    字符比较它们的unicode编码 - 按照字典的
    记住 a:97 A:65 后面的字母依次递增
    console.log( 'a' > 'A'  )
    console.log( 'abc' > 'aef'  );

03.严格模式

 不严格的体现: 
      1. 声明变量可以不使用var关键字
      2. 形参重复
    严格模式设定:
      <script>
        'use strict'
         // 下面代码书写就要按照严格模式书写

04.ES

   ECMAScript   浏览器脚本语言标准
      javascript实现
      ES6  ECMAScript2015及之后提交的最新的语法规范

04.for-of

   for-of 遍历数组、字符串、也可以遍map集合,不能遍历对象
遍历数组,访问数组元素
遍历字符串,访问字符串字符元素
for(var value of arr){
  //value数组元素
  //value字符
  //map元素
}  

05.统计次数?

       遍历字符串
          记录次数
            如果记录一个值出现次数,定义一个变量计数
            如果记录多个值出现次数,定义一个对象计数
   统计每个随机数出现次数
         *      
         *       联想到:  统计不同字符出现次数   
         *          1. var obj = {}  统计次数
         *          2.  循环遍历字符
         *              if(obj['2']){
         *                 obj['2']++
         *              }else{
         *                 obj['2'] = 1
         *              }
         *        for(var i = 0; i < 10000; i++){
         *             var num = Math.floor(Math.random() * 10)
         *             if(obj[num]){
         *                 obj[num]++
         *              }else{
         *                 obj[num] = 1
         *              }
         *        }           

06.数学对象Math

内置对象学习

对象: 属性和方法

    - 简单对象Object
        var obj = new Object()
        var obj = {}
    - 数组Array
        var arr = new Array()
        var arr = []
    - 字符串对象
        var str = new String()
        var str = ''
    - Math
        作用:处理数学问题
        创建方式: 直接使用Math.方法()
        常用方法:
           1、Math.random() 
              => 这个方法是用来生成一个 0 ~ 1 之间的随机数
              => 包含0,不包含1 [0,1)
              var num = Math.random()
           2、取整方法
            round ceil floor
            Math.ceil()是将一个小数 向上 取整得到的整数 
            Math.floor()是将一个小数 向下 取整得到的整数 
            Math.round()是将一个小数 四舍五入 得到的整数
           3、绝对值abs
            Math.abs() 是返回一个数字的绝对值
           4、最大值 max & 最小值 min
            Math.max() 得到的是你传入的几个数字之中最大的那个数
           5、还有很多方法
              abs(x) 返回数的绝对值
              acos(x)返回数的反余弦值
              asin(x)返回数的反正弦值
              atan(x)以介于-π/2与π/2弧度之间的数值来返回x的反正切值
              atan2(y,x)  返回从x轴到点(x,y)的角度(介于-π/2与π/2弧度之间)
              ceil(x)对数进行上舍入
              cos(x) 返回数的余弦
              exp(x) 返回e的指数
              floor(x)  对数进行下舍入
              log(x) 返回数的自然对数(底为e)
              max(x,y)  返回x和y中的最大值
              min(x,y)  返回x和y中的最小值
              pow(x,y)  返回x的y次幂
              random()  返回0~1之间的随机数
              round(x)  把数四舍五入为最接近的整数
              sin(x) 返回数的正弦
              sqrt(x)返回数的平方根
              tan(x) 返回角的正切
              toSource()  返回该对象的源代码
              valueOf() 返回Math对象的原始值

07.随机数工具函数

生成m-n之间的随机数?

        Math.random()   0-1
        0~10      Math.random() * (10-0)  + 0      
        10~20     Math.random() * (20-10) + 10
        20-30     Math.random() * (30-20) + 20
        30~50     Math.random() * (50-30) + 30
        m~n       Math.random() * (n-m) + m
                  Math.floor(Math.random() * (n-m) + m )

08.进制

 十进制  0 ~ 9
       二进制  0 1
       八进制  0   1  2 3  4  5  6  7
              010 011
       十六进制  0  1  2 3  4  5  6  7 8 9 A B C D E F  
                0x10   0xa 
       0x表示十六进制,但是js会强制转换为十进制来运算,0xa == 10 
        0,1,2,3,4,5,6,7,8,9,a,b,c,d,...
       0开头表示八进制,同样强制转换为十进制来运算 010 == 8          
       其他进制 -> 十进制
          parseInt(num,进制)
          parseInt(100,2)  => 把100当成二进制转换成十进制
       十进制  -> 其它进制
          toString(进制)
  1. 颜色:
表示颜色:  
        RGB(123,34,55)
        #AB12FF  
        16色颜色值: rgb 16进制组合 
        r -> 16
        g -> 16
        b -> 16
        12 -> 0c
    R: red     0~255
    G: green   0~255
    B: blue    0~255
    随机生成RGB颜色
      var r = getRandom(0,256)
      var g = getRandom(0,256)
      var b = getRandom(0,256)
      var rgb = `rbg(${r},${g},${b})`
生成随机颜色16色方法二
    思想: 生成6个 十六进制数进行拼接
相关文章
|
10天前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
14天前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
14天前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
1月前
|
存储 JavaScript 前端开发
JavaScript 对象的概念
JavaScript 对象的概念
37 4
|
14天前
|
JavaScript 前端开发 开发者
|
1月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
31 1
|
1月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
16 2
|
1月前
|
JavaScript 前端开发 Unix
Node.js 全局对象
10月更文挑战第5天
25 2
|
1月前
|
存储 JavaScript 前端开发
js中的对象
js中的对象
19 3
|
1月前
|
JavaScript 前端开发
JavaScript Math(算数) 对象
JavaScript Math(算数) 对象
20 4