目录
1.统计这段字符串占了多少个字节,已知中文占2个字节,其它符号占1个字节【中文的unicode编码大于255】
1.模板字符串
ES2015前,字符串拼接用'',但是在换行操作和输出变量值时不方便
ES2015后,字符串拼接使用反引号``,引用变量是可以使用${变量名}
1.用字面量定义字符串的方式
var str=''
var str=``
var str=""[少用]
2.模板语法
`${变量}`
`${简单运算}`
3.作用
字符串拼接:
增加可读性
换行不用连接符+
2.严格模式
1.不严格的体现
1.变量不声明也能使用
2.换行不用连接符
2.开启严格模式
<script>`use strict`<script>
3.使用严格模式的优点
1.消除代码运行的一些不安全之处,保证代码运行的安全
2.提高编译器效率,增加运行速度
3.为未来新版本的JavaScript做好铺垫
3.ASCLL码
1.美国标准信息交换代码
特点:是一张表 有128个字符
2.GBK
是中文简体编码
汉字内码扩展规范
共收录了21003个汉字
3.unicode编码
也叫万国码/统一码
4.charCodeAt方法:
str.charCodeAt(索引) //返回对应索引位置的unicode编码
//中文字符unicode编码大于255
5.小结:
ASCLL码只支持拉丁文,中文只会是乱码
4. JavaScript的内置对象:
1.对象
Object对象:存储键值对的集合
Array数组:存储一系列有序数据的集合
String字符串【使用的时候才是对象 包装类型】
2.创建方式
1.字面量
2.构造函数
3.属性
length
4.方法
4.数学对象 Math
1.处理数学问题就
2.创建方式
自身就是一个对象,不需要使用构造函数创建,它比较特殊,直接使用就可以,像这样的对象称为类对象
Math.方法
3.方法
1.随机数:
random=>返回0~1之间的随机数 [0,1) 左闭右开
2.取整:
ceil 向上取整
floor 向下取整
round 四舍五入
生成m~n之间的随机数
function randoms(x,y){
var m=Math.min(x,y)
var n=Math.max(x,y)
return Math.round(Math.random()*(n-m)+m)
}
3.abs(x):
返回数的绝对值
4.max(x,y)
返回x,y中的最大数
5.min(x,y)
返回x,y中的最小数
6.pow(x,y)
返回x的y次幂
7.sqrt(x)
返回数的平方根
8.exp(x)
返回e的指数
9.log(x)
返回数的自然对数底为e
10.三角函数:
sin(x)
cos(x)
tan(x)
11.三角函数反函数
asin(x)
acos(x)
atan(x)
12.其它
toSource() 返回该对象的源代码
valueOf()返回Math对象的原始值
5.进制与进制转换
进制:
计数的一种方式,现实生活中一般十进制计数
十进制 [0,9] 满十进一
二进制 [0,1] 满二进一
八进制 [0,7] 满八进一 在控制台输出八进制数则在前面加个0
十六进制 [0,9]+[a,f] 满十六进一 在控制台输出十六进制数则在前面加个0x
进制转换:
十进制转其它进制
num.toString(2)//十进制转二进制
其它进制转为十进制
parseInt(num,8)//八进制转十进制
案例:
1.统计这段字符串占了多少个字节,已知中文占2个字节,其它符号占1个字节【中文的unicode编码大于255】
var str = '哈哈哈哈哈哈,这是我的第893749164017行JavaScript代码'
var count = 0
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 255) {
count += 2
} else {
count++
}
}
console.log(count)
2.js编程实现表格显示
var students = [{
number: 1001,
name: 'jack',
score: 98,
gender: '男'
},
{
number: 1002,
name: 'rose',
score: 95,
gender: '女'
},
{
number: 1003,
name: '小丽',
score: 85,
gender: '女'
},
]
var newArr=students.map(function(item){
return `<tr>
<td>${item.number}</td>
<td>${item.name}</td>
<td>${item.score}</td>
<td>${item.gender}</td>
</tr>`
}).join('')
var trStr=`<table>${newArr}<table>`
document.write(trStr)
3.生成10000个0~10范围的随机数【并统计随机数出现的次数】
var obj = {}
for (var i = 0; i < 10000; i++) {
var a = Math.round(Math.random() * 10)
if (obj[a]) {
obj[a]++
} else {
obj[a] = 1
}
}
console.log(obj)