if else 语句
var sum = 190
var youhuisum //赋予一个容器
if(sum>=200){
youhuisum = sum - 10
console.log(111)
}else{ //如果上面if不满足则都执行else语句
youhuisum = sum
console.log(222)
}
console.log(sum,youhuisum)
var sum = 250
var youhuisum
if(sum>=200){ //设立多个条件,语句从上到下执行,满足条件执行相应语句
youhuisum = sum - 10
} else if(sum>100){
youhuisum = sum - 5
} else if(sum>50){
youhuisum = sum -3
} else{
youhuisum = sum
}
下面是我当时学习的瑞年判断案例
var inputYear = 2023
// 普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)
//year%4===0 && year%100!=0
// 世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)
//year%400===0
if(inputYear%400===0 || (inputYear%4===0 && inputYear%100!=0)){
console.log("闰年")
}else {
console.log("平年")
}
switch 语句
当发生穿透时,不管有没有匹配条件依旧会输出,直到有break那
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var foot = 37
switch (foot){
case 37:
console.log("我们找到了一双37玛的鞋")
break;
default:
break;
}
// 1.找到和已知条件完全匹配的选项执行
// 2.执行完毕代码需要写break,不然会向下穿透
// 3.可以书写一个default,会在所以选项都不匹配的时候执行
// 4.当发生穿透效果的时候,会从第一个满足条件的选项开始向下穿透
//输出每个月有多少天
var month = 12
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
console.log("31")
break;
case 2:
console.log("28")
break;
case 4:
case 6:
case 9:
case 11:
console.log("30")
break;
default:
break;
}
</script>
</body>
</html>
while 语句
while就是“当”的意思,满足条件就执行
// 案例1:求1~100所有数字的和 5050
<script>
var n = 0
var sum = 0
while (n<=100){
sum += n
n++
}
console.log(sum)
//案例2:求一个数字的阶乘 5*4*3*2*1
var n = 5
var sum = 1
while (n>0){
console.log(n)
sum *= n
n--
}
console.log(sum)
for循环
for(var i=0;i<=5;i++){ if(i===3){ break //break 在循环没有进行完毕的时候,因为我设置的条件满足,提前终止循环 } console.log(i) } for(var i=0;i<=5;i++){ if(i===3){ continue //在循环中,把循环的本次跳过去,继续执行后续的循环 } console.log(i) } //案例:求质数 var n=12 var isZhiShu = true for(i=2;i<=n/2;i++){ if(n%i===0){ isZhiShu = false } } if(isZhiShu){ console.log("是质数",n) }else{ console.log("不是质数") }
i++ ++i 的区别 同比 i-- --i的区别
i++就是先赋值后运算,++i是先运算后赋值,同理i--也如此
var i = 5;
console.log(i++);//i=5
console.log(i);//i=6
var n = 5;
console.log(++n);//n=6
console.log(n);//6
js作用域 作用域链的概念
定义:作用域的集合就是作用域链
1、函数在执行的过程中,先从自己内部寻找变量
2、如果找不到,再从创建当前函数所在的作用域去找,从此往上,也就是向上一级找。
js 声明变量的关键字 var const let 的区别
var
1.var声明的变量存在于全局作用域或函数作用域下
2.var声明的变量会进行变量提升
3.var声明的变量可以重复声明
4.var声明的全局变量会绑定到顶级对象上
function x() {
y = 1; //严格模式下抛出错误
var z = 2;
}
x();
console.log(y);//
console.log(z);//
const常量
1.const声明的是常量,声明的时候必须赋初始值
2.const声明的常量值不可修改(对于对象来说,常量保存的是对象地址值,改变对象内容但不改变地址值,则常量仍未改变
//常量声明必须赋初始值,否则报错
const a;//Missing initializer in const declaration
//常量不可修改
const a = 1;
a = 2;// Assignment to constant variable
//常量是对象时,对象内容虽改变,对于常量来说对象地址值未改变
const a = {};
a.b = 2
console.log(a)
let
1.let声明的变量不会进行变量提升
2.let不允许变量重复声明
3.let声明的变量存在于块级作用域下
4.let声明的变量存在暂时性死区(TDZ:temporal dead zone,在当前作用域下变量声明之前不可读取或操作)
5.let声明的全局变量不会绑定到顶级对象上
let声明的变量只在其声明的块或子块中可用,这一点,与var相似。二者之间最主要的区别在于var声明的变量的作用域是整个封闭函数。
function vartest(){
var m =1;
if (true) {
var m = 2;//同样的变量
console.log(m);//2
}
console.log(m);//2
}
function lettest() {
let n = 1;
if (true) {
let n = 2;//不同的变量
console.log(n);//2
}
console.log(n);//1
}
setInterval() 计时器 的作用 以及用法
setTimeout() 延时器的作用 以及用法
这里定时器值得注意的就是关闭定时器他不分种类的,一关全关
<button id="off">关闭定时器</button>
<script>
//按照指定周期去执行指定的代码
var timer1 = setInterval(function(){
console.log('间隔定时器')
},1000)//间隔时间1s
//在固定的时间后指定一次代码
var timer2 = setTimeout(function(){
console.log('延时定时器')
},3000)延时时间3s
//关闭定时器 不区分定时种类
// clearInterval(要关闭定时器的返回值)
// clearTimeout(要关闭定时器的返回值)
off.onclick = function () {
clearInterval(timer1)
clearInterval(timer2)
}
window.prompt()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="demo"></div>
<button onclick="myFunction()">点我</button><!-- 在按钮中引入点击事件 -->
<script>
function myFunction() {//设立点击事件
var x ;
var person = prompt("请输入你的名字!","Dudada");//prompt设置窗口弹框
if (person!=null && person != "") {
x = "你好"+person+"!今天感觉怎么样?";
document.getElementById("demo").innerHTML=x;
}
}
</script>
</body>
</html>
window.confirm()
confirm()方法用于显示一个带有指定消息和确认及取消按钮的对话框。
如果访问者点击"确定",此方法返回true,否则返回false。
function myFunction(){
var x;
var r=confirm("按下按钮!");
if (r==true){
x="你按下了\"确定\"按钮!";
}
else{
x="你按下了\"取消\"按钮!";
}
document.getElementById("demo").innerHTML=x;
}
window.alert()
alert() 方法用于显示带有一条指定消息和一个 确认 按钮的警告框。
window.screen
window.location
window.history
window.navigator