JavaScript基础语句和window对象

发布时间 2023-12-25 23:19:18作者: 奇迹会出现

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