JavaScript 笔记 02 | 青训营

97 阅读3分钟

JavaScript 笔记 02 | 青训营

运算符

  • 赋值运算符

  • 自增运算符

  • 比较运算符

    • ==:左右两边值是否相等
    • ===:左右两边是否类型和值都相等(全等)
     document.write(2 == '2')  // true
     document.write(2 === '2')  // false
    
    • 逻辑运算符:&&||!

分支语句

  • if else if else
  • 三目运算符
  • 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]); // 打印属性值
 }

内置对象

  • 内置对象 Math MDN搜Math

总结

js 语法深入学习

熟悉了:

  1. 分支语句、循环语句
  2. 数组
  3. 函数
  4. 对象

参考文献