比较运算符
=
== console.log(1=='1') //true 判断的时候值相等,类型不同也是true
=== console.log(1==='1') //false 值相等且类型相同 才为true
严格检查格式
<!--
前提:IDEA需要支持SE6语法
'use strict';严格执行模式;预防JavaScript的随意性导致产生的一些问题
必须要写在JavaScript的第一行;
局部变量建议使用let去定义
-->
<script>
'use strict';
let i= 100;
</script>
数据类型
1.字符串
<script>
'use strict';
let i= 100;
console.log(i);
let name="小明";
console.log(`zheshi第一行
第二行
第三行`);
console.log(`你好 ,${name}`);//打印出 你好,小明
</script>
//String类型的不可变性,.length求长等多种方法
//大小写转换 toUpperCase()是方法,不是属性,上面求长是属性
//返回字符的下标位置
//字符串切片 左闭右开区间
2.数组
//数组可以包含任意类型,数组的内容可以修改,长度也可以修改(如果赋值较小,数据会丢失)
//indexof,通过元素获取下标索引 字符串"1"和数字1是不同的
//slice() 截取数组的一部分,返回一个新数组 这种方法类似于String里的substring()方法
//push() pop() 尾部压入和弹出元素
//unshift() shift 头部压入和弹出元素
//sort() 排序 / reverse() 反转 / concat() 字符串拼接返回一个新数组,并没有修改原有的数组 / 连接符 join()
//多维数组
3.对象
JS中{…}表示一个对象,键值对描述属性xxxx: xxxx, 多个属性之间使用逗号隔开,最后一个属性不加逗号
JS中的所有的键都是字符串,值是任意对象
var person={
name: "cuiqianqian崔倩倩",
age: 18,
sex: 女,
score: 100
}
// 对象赋值
//使用一个不存在的对象属性,不会报错! undefined
// 动态的删减属性,通过delete删除对象的属性
// 判断属性值是否在这个对象中 xxx in xxx! 判断一个属性是否是这个对象自身拥有的hasOwnProperty()
4.流程控制
// if判断
let age=10;
if(age>10) {
alert("hahah");
}
else if(age<20){
alert("hahahahha");
}
else alert("kuha");
// while循环
while(age<100){
age+=10;
console.log(age);
}
// for循环
for (let i = 0; i < 10; i++) {
console.log(i);
}
//forEach循环 是个函数
let arr = [12,123,12,12,4,3446,671,122,221,32];
arr.forEach(function (value){
console.log(value);
})
//for…in 循环 不知道数组的长度时可以使用这种循环方式
for (let i in arr){
console.log(arr[i]);
}
5.Map和Set
var map = new Map([['tom',90],['jack',80],['amy',88]]);
var score = map.get('tom');// 通过key获得value
map.set('admin',100);// 向map中新增一个键值对
console.log(score);