Skip to main content

Javascript教程第二章:运算符与流程控制

Javascript教程第二章:运算符与流程控制

一.运算符与流程控制

1.赋值运算符与算数运算符

前置和后置,++n和n++,在不参与其他运算的时候没有区别

let f = 2;
let n = 1;
let d = f + n++; //f+n,结果为3
let d = f + ++n; //先算++n,结果为4

2.短路运算的妙用

let a = 1;           正数为true
let b = 0; 0和负数为false
let f = a || b; JS中默认把从左到右的值第一个为true的值赋给f,所以此时f为1

let sex = prompt("请输入性别") || '保密'
此时当用户输入的时候,sex为用户输入的内容,当用户没有输入的时候为保密

3.网站协议接收验证

function query(el){
return document.querySelector(el);
}
query('#form').addEventListener('submit',function(event){
let user = query("[name = 'user']").value.trim();
let copyright = query("[name = 'copyright']").checked
let psw = query("[name = 'psw']");
if(!user || copyright == false || !psw){
alert("请输入用户名和密码,并仔细阅读协议")
event.preventDefault();
}
})

4.流程控制:使用ifelse判断密码强度

5.三元表达式

let hd = false ? 2 : 5;

switch使用注意事项

let error = error; 
switch(error){
case "notice":
case "error":
console.log("警告或者提示消息");
break;
default:
console.log("其他类型的错误");
}

此时notice和error采用了相同的处理方式,无break则一直向下匹配
执行到default可以不写default

6.while循环控制

do{
consolo.log("先进来")
}while(false);

7.使用 for循环打印杨辉三角

//第一个for循环控制行数,第二个for循环控制*的数量

for(let i = 0;i < 10; i++){
for(let n = 0;n < i; n++){
document.write("*")
}
document.write("<br>")
}
//控制行数

for(let i = 0; i < 5; i++){

//打印空白
for(let kb = 4 - i; kb > 0; kb--){
document.write("<span>*</span>")
}

//打印*的个数
for(let m = i*2 - 1; m > 0; m--){
document.write("*");
}
//打印换行
document.write("<br>");
}

8.break-continue与 label标签的使用

1.continue : 进入下次循环

for(let i = 1; i <= 10; i++){
if(i % 2 ){
//不进行下面的代码,跳到下循环
continue;
}
console.log(i)
}

2.break : 终止所有循环

3.label标签:

houdunren: for(let i = 1; i <= 10; i++){
for(let n = 1; n <= 10; n++){
if(n % 2 == 0){
console.log(i,n);
}
if((n+i) > 18){
//当n+i > 18 的时候跳出最外层的循环
break houdunren;
}
}
}

9.for-in与for-of使用方法操作

数组循环(也可以遍历对象和DOM元素):

let houdunren = ["hdcs","houdunren"]

for(let key in houdunren){
console.log(houdunren[key])
}

for(let value of houdunren){
console.log(value)
}

Array.forEach(function(item,index,array){
console.log(item)
})

for in 取键值,for of取值;