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个 十六进制数进行拼接
相关文章
|
20天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
23 3
|
23天前
|
JavaScript 前端开发 开发者
JavaScript的`Math`对象
【4月更文挑战第21天】JavaScript的`Math`对象
18 3
|
3天前
|
JavaScript 前端开发
在JavaScript中,函数原型(Function Prototype)是一个特殊的对象
JavaScript中的函数原型是一个特殊对象,它为所有函数实例提供共享的方法和属性。每个函数在创建时都有一个`prototype`属性,指向原型对象。利用原型,我们可以向所有实例添加方法和属性,实现继承。例如,我们定义一个`Person`函数,向其原型添加`greet`方法,然后创建实例`john`和`jane`,它们都能调用这个方法。尽管可以直接在原型上添加方法,但推荐在构造函数内部定义以封装数据和逻辑。
8 2
|
3天前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
6 2
|
7天前
|
存储 JavaScript 前端开发
JavaScript对象方法详解
JavaScript对象方法详解
15 1
|
7天前
|
JavaScript
js多维数组去重并使具有相同属性的对象数量相加
js多维数组去重并使具有相同属性的对象数量相加
10 1
|
14天前
|
前端开发 JavaScript 数据安全/隐私保护
前端javascript的DOM对象操作技巧,全场景解析(二)
前端javascript的DOM对象操作技巧,全场景解析(二)
|
14天前
|
移动开发 缓存 JavaScript
前端javascript的DOM对象操作技巧,全场景解析(一)
前端javascript的DOM对象操作技巧,全场景解析(一)
|
14天前
|
缓存 编解码 自然语言处理
前端javascript的BOM对象知识精讲
前端javascript的BOM对象知识精讲
|
14天前
|
JavaScript 前端开发
JavaScript 日期对象
JavaScript 日期对象