JavaScript 笔记 02 | 青训营
运算符
-
赋值运算符
-
自增运算符
-
比较运算符
==:左右两边值是否相等===:左右两边是否类型和值都相等(全等)
document.write(2 == '2') // true document.write(2 === '2') // false- 逻辑运算符:
&&、||、!
分支语句
ifelse ifelse- 三目运算符
- switch
循环语句
while 循环
语法:
while (expr){
statement
}
expr 为条件表达式,当 expr 为真时,执行 statement 语句,执行结束后,再次进入下一轮循环,直到条件表达式为假时,跳出循环。
代码示例:
var n = 1; //声明并初始化循环变量
while(n <= 100){ //循环条件
n++; //递增循环变量
if (n % 2 == 0) document.write(n + ""); //执行循环操作
}
do…while 循环
语法:
do{
statement
} while(expr)
do…while 循环与 while 循环很相似,区别在于,while 循环是先判断再执行,而 do…while 循环会先执行一次语句,然后再开始判断循环。不论条件为真或者是假,都会执行一次。
代码示例:
var text = "" var i = 0;
do {
text += "<br>数字为 " + i; i++;
} while (i < 5);
document.getElementById("demo").innerHTML = text;
for 循环
语法:
for (expr 1; expr 2; expr 3)
{
statement
}
for 循环想必也是大家比较熟悉的一种循环方式了,for 循环主要用户循环执行一定次数的代码块,小括号中,是 for 循环的条件,花括号中,是循环条件为 true 时所需要执行的语句。缺点是写法比较麻烦。
示例代码:
for (var i=0; i<5; i++) {
x=x + "该数字为 " + i + "<br>";
}
数组
概念
let 数组名 = [数据1,数据2,......数据n] // 声明
数组名[下标] // 访问数组元素
数组名.length // 数组长度
遍历数组
......
操作数组
let arr = [1] // [1]
arr.push(2) // 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度 [1,2]
arr.unshift(3) // 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度 [3,1,2]
arr.pop() // 方法从数组中删除最后一个元素,并返回该元素的值 [3,1]
arr.shift() // 删除第一个元素 [1]
arr.splice(操作的下标,删除的个数) // delete
函数
函数的声明 & 使用
function 函数名(参数){ // 函数名要求第一个单词是动词,使用小驼峰
函数体
}
函数名() // 使用
函数传参 & return
function addNum(num1, num2) {
return num1 + num2 // 没写return,默认return undefined
}
let sum = addNum(1, 2)
document.write(sum)
支持默认参数
function addNum(num1 = 0, num2 = 0) {
return num1 + num2
}
document.write(addNum())
document.write('<br>')
document.write(addNum(1,2))
注意
- 函数不可重载,两个相同的函数,后面的会覆盖前面的(非严格模式)
- 传参问题:多了不参与,少了undefined
匿名函数
function() {}
-
函数表达式
let fn = function(x,y) { console.log('hi') } fn(1,2) -
立即执行函数(非常常用)
优势:避免全局变量之间的污染
(function(x,y){ 函数体 })(1,2); // 分号必须
逻辑中断
-
&& 遇假则假
- 只要遇到假,直接中断,后面的表达式不再执行
- 若两个都为真,则返回后面那个真值
-
| | 遇真则真 同理
对象(Obejct)
语法
// 声明一个对象
let 对象名 = {}
let 对象名 = new Object()
// 给对象赋值
let 对象名 = {
属性名: 属性值, // 属性值可以不写
方法名: 函数
}
let obj = {
uname: 'Kingston' // 属性
sayHi: function() {
document.write('hi~')
}
}
对象使用
-
查
对象.属性 -
改
对象.属性 = 值 -
增
对象.新属性名 = 新值 -
删
delete 对象名.属性名
一种特殊的查询方式,例
let goods = {
'goods-name': 'xiaomi',
color: 'pink'
}
console.log(goods['goods-name'])
console.log(goods['color'])
遍历对象
let obj = {
uname: 'andy',
age: 18,
sex: '男'
};
for (let k in obj) { // 一定记住:k是获得对象的属性名,对象名[k]是获得属性值
console.log(k); // 打印属性名
console.log(obj[k]); // 打印属性值
}
内置对象
- 内置对象
MathMDN搜Math - 等
总结
js 语法深入学习
熟悉了:
- 分支语句、循环语句
- 数组
- 函数
- 对象