js中变量都使用var定义: var/let c = Java学不会;
'use strict`; 严格检查模式,预防JavaScript的随意性到时产生的一些问题,必须写在JavaScript的第一行。
局部变量建议用let去定义。
1、数值 number
- 整数
- 浮点数
- 科学计数法
- 负数
- Infinity表示无穷
2、字符串
-
正常字符串使用,单引号,或者双引号包裹。
-
注意转义字符 “
/
” -
多行字符串 ``
-
模板字符串:
<script> 'use strict'; let name = 'Java学不会'; let meg = `Hello,${name}`; console.log(meg); </script>
-
字符串长度:str.length
3、布尔值
- TRUE
- FALSE
4、逻辑运算
- && (两个都为真,结果为真)
- || (一个为真,结果为真)
- ! (取反)
5、比较运算
- = (赋值)
- == (等于,类型不一样,值一样会判断为TRUE)
- === (绝对等于,类型一样,值一样判断为TRUE)
- 尽量避免使用浮点数进行运算,存在精度问题
6、null 和 undefined
- null 空
- undefined 未定义
7、数组
- js中不需要是相同类型的对象
- 下标越界 undefined
- var arr = [1,2,3,4,5,6]
- 长度:arr.length(如果给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失)
- indexOf():通过元素获得下标索引
- 字符串的“1”和数值1是不同的
- slice():截取数组的一部分,返回一个新的数组
- 尾部:
- push():入栈
- pop():出栈
- 头部:
- unshift():入栈
- shift():出栈
- 排序sort()
- 元素反转:reverse()
- concat();没有修改数组,只是会返回一个新的数组
- 连接符join:打印拼接数组,使用特定的字符串连接
8、对象
-
JavaScript中的所有的键都是字符串,值是任意对象!
-
js中的对象,{}表示一个对象,键值对描述属性 XXX: xxx,多个属性之间使用逗号隔开,最后一个属性不加逗号。
var 对象名 ={ 属性名:属性值, 属性名1:属性值, 属性名2:属性值, 属性名3:属性值 } //定义了一个person对象,它有三个属性 var person = { name: 'Java学不会', age: 3, email:'2929054638@qq.com' }
-
对象赋值:person.name=‘Java’
-
动态的删减属性:delete person.name
-
动态的添加:直接给新的属性添加值即可
-
判断属性值是否在这个对象中: XXX in xxx
-
判断一个属性是否是这个对象自身拥有的hasOwnProperty()
9、流程控制
- if(){}——else{}结构
- while(){}循环
- do{}while(); 循环
- for(; ; ){} 循环
10、Map和Set集合
-
Map
'use strict'; var map = new Map([['tom',100],['java',90],['csdn',80]]); var name = map.get('java'); //通过key获得value console.log(name); map.set('admin',123); //添加或更改 map.delete(3); //删除
-
Set:无序不重复的集合
var set = new Set([3,1,1,1,2,2]); //set可以去重 set.add(5); //添加 set.delete(3); //删除 set.has(3); //是否包含某个元素
11、iterator
- 遍历map
for (const mapElement of map) {
console.log(mapElement);
}
- 遍历set
for (const setElement of set) {
console.log(setElement);
}