JavaScript
JavaScript
JavaScript是一门世界上最流行的脚本语言
一个合格的后端程序员,必须精通JavaScript
<html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script> //1.定义变量 (变量类型 变量名 = 变量值) var score = 62; //2.条件控制 if (score>60 && score<70){ alert("60~70") }else if (score>70 && score<80){ alert("60~70") }else { alert("other") } //console.log(score) 在浏览器的控制台输出变量 </script></head><body></body></html>
逻辑运算
&& 两个都为真,结果为真|| 一个为真,结果为真! 取反
比较运算符
=== 等于(类型不一样,值一样,也会判断为true)=== 绝对等于(类型一样,值一样,结果为true)
这是JS的缺陷,坚持不要使用 == 比较
- NaN===NaN,这个与所有的数值都不相等,包括他自己
- 只能通过isNaN(NaN)来判断这个数是否是NaN
浮点数问题
console.log((1/3) === (1-2/3))
尽量避免使用浮点数
数组
<html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script> //每个属性之间使用逗号隔开,最后一个不需要添加 var person = { name:"yrz", age:3, tags:['js','java','web','...'] } </script></head><body></body></html>
严格检查模式
<html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script> //'use strict'严格检查模式,必须写在JavaScript的第一行 'use strict'; //全局变量 let i = 1; </script></head><body></body></html>
字符串
1.多行字符串编写
var msg = `helloworld你好!`
2.模板字符串
let name = "yrz"let msg = `你好呀,${name}`
3.substring
var student = "student";substring(1) //从第一个字符串截取到最后一个字符串substring(1,3) //[1,3)
数组
Array可以包含任意的数据类型
1.长度
arr.length //赋值,数组大小可以改变,如果赋值过小,元素就会丢失
2.通过元素获得下标索引
arr.indexof(2) //字符串和数字不一样
3.**slice()**截取Array的一部分,返回一个新数组,类似于String中的substring
4.push(),pop()尾部
push():压入到尾部pop():弹出尾部的一个元素
5.unshift(), shift()头部
unshift():压入到头部shift():弹出头部的一个元素
6.sort()
(3)["B","C","A"]arr.sort()(3)["A","B","C"]
7.元素反转reverse()
(3)["A","B","C"]arr.reverse()(3)["C","B","A"]
8.concat()
(3)["C","B","A"]arr.concat([1,2,3])(3)["C","B","A",1,2,3]arr(3)["C","B","A"]
注意:concat()并没有修改数组,只是会返回一个新的数组
9.连接符join
(3)["C","B","A"]arr.join('-')"C-B-A"
对象
var person = { name:"lyc", age:3, email:1500200086@qq.com, score:0 }
1.对象赋值
person.name = "yrz"
2.动态的删减属性
delete person.nametrue
3.动态的添加,直接给新的属性添加值即可
person.haha = "haha"
流程控制
forEach循环
var age = [231,56,48,22,655,48,656,56,4]; age.forEach(function (value) { console.log(value) })
for…in
var age = [231,56,48,22,655,48,656,56,4]; //for(var index in object){} for (var x in age){ if (age.hasOwnProperty(x)){ console.log("存在") console.log(age[x]) } }
Map和Set
ES6新特性~
Map:
'use strict' var map = new Map([['tom',80],['jack',50],['haha',100]]); var name = map.get('tom'); map.set('lyc',100); //新增或修改map.delete("tom") //删除 console.log(map)
Set:无序不重复的集合
var set = new Set([3,1,1,1,1,1]); //Set可以去重 //[3,1] set.add(2); set.delete(1); console.log(set.has(3)); //是否包含某个元素
iterator
使用iterator来遍历我们的Map,Set!
'use strict'var arr = [3,4,5]for (var x of arr){ console.log(x) //3,4,5}//for..in 下标var arr = [3,4,5]for (var x in arr){ console.log(x) //0,1,2}
遍历Map
var map = new Map([['tom',80],['jack',50],['haha',100]]);for (let x of map){ console.log(x)}
遍历Set
var set = new Set([5,6,7]);for (let x of set){ console.log(x)}