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个 十六进制数进行拼接