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(进制)
- 颜色:
表示颜色: 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个 十六进制数进行拼接