2022-07-11 第10组 蒋萍 学习笔记

“ 原来给予是会让人感到丰足而不是贫乏的 ”

写在前面:

现在开始整理JS啦~~,经历过前面HTML和CSS的鞭打,来吧,我已经不怕啦,哈哈哈,本栏目持续更新,每天都要快乐学习( •̀ ω •́ )y,小伙伴们,加油!

今日掌握:⭐⭐⭐⭐

今日心情:⭐⭐⭐⭐

一、JS

  • JavaScript

image

是什么?

JavaScript:编程语言,依赖于某种容器来运行,浏览器来解释执行,用来给网页加功能的

JS在哪执行?

  • 哪里需要写哪里,在写哪都行,但是规矩是放在结束body标签的上方
<body>
    
    <script>
        // 哪里需要写哪里,在写哪都行,规矩是放在结束body标签的上方

    </script>
</body>
  • 也可以外部引入:和css类似:声明用style,引入用link,但JS都用script
    image

JS的数据类型

数字number

字符串string

布尔型boolean

空null:值为空

未定义undefined:没有值

定义变量

// 定义数值型变量
var num1 = 10;
// 修改变量的值
v1 = 11;
var v2 = "我是字符串"   //使用时举例:alert("v2" );
var v3 = true;
var v4 = null;
console.log(typeof v4);// object
var undefined;

在ES6中,新推出了两个词代替了var:

let

变量用let声明,无法重复定义

let n1 = 10;
let n2= 11;// 报错

// 获取数据类型
console.log(typeof n1);

// 判断是否为数字
isNAN(n1); // 注意这里返回false

const

用const定义的变量为常量,无法重复定义,也不能重赋值

JS的复杂数据类型

  • 数组:一个变量对应多个值;

创建数组:

<script>
//(1)使用数组函数
    let arr = Array();
    console.log(arr); //控制台输出
		arr[0] = 100;
		arr[1] = 90;
// ??? 可以设定数组长度吗???

//(2)使用new关键字__不常用
		let arr2 = new Array();

//(3)使用字面量(直接赋值)
		let arr3 = [1,2,3];
    
</script>

image

image

函数:用来执行的操作

无参无返回值

无参有返回值

有参有返回值

有参无返回值

<script>

       // 定义函数
	function name(参数列表,可有可无,看情况){
       // 这里写操作
}

	     // 函数调用
	name(实参列表);
	
</script>

~~函数内部不可以再声明别的函数,但可以调用;

弹窗:(用的少)

(1)alert();警告型弹窗,无返回值

<script>
        alert("你好呀,\n我现在讲话。")

    </script>
  • 在弹窗内换行:\n

(2)confirm() 带有确认和取消的弹窗,有返回值(boolean),

<script>

   let result = confirm("确定")     

</script>

(3)prompt();带有文本框的弹窗,有返回值,就是输入的内容

<script>

       let result = prompt(" 请输入序号:","例如:1001")

</script>

===(判断是否是相同的数据类型)

!!!!重点

二、逻辑判断,流程控制

<script>
    // 三元运算符
    let a = 10;
    let b = 20;

    // 表达式 ? 为true时执行的 : 否则执行这里的
    a>b ? a : b;

// 注意:-、*,/、%可以进行类型转换,如果转不了,结果为NAN
如果先入为主的认定+号为

 </script>

1、判断:

(1)if……else,可以无限按嵌套,只要你别晕😂

// 多重if结构
if(条件判断表达式){
// 为true时执行的代码
}else if(){
// 否则,执行的代码
}else{
// 反正只能执行一个块里面的
}

(2)switch……case结构

只要匹配成功了其中一个case,在这个case之后的都会执行~

可以加入break就好啦!!


// 注意和if()里的条件语句区别
switch(表达式){

		case plan1: 
		case plan2:
		…………
		case plann:

}

let a = 10;
switch(a){
		// 当a=10时,要干的事
		case 10:
				console.log("我是情况1");
				break;
		case plan2:
				…………
		case plann:
				break;	
		default:
				// default位置也可以不在最后,遵守规则即可
        // 代码
}

那怎么选择来使用呢???

1、当需求为区间范围时,switch无法使用,if基本啥都能干;

2、switch效率高,能用switch就不用if;

case后面是字面量时,

3、当需求固定且值不多的时候可以用switch;

那这两之间的异同??

  • 相似:

    几乎所有switch大部分可以转换为if;

    default几乎相当于if;

    他两都可以无限嵌套;

  • 异:

    switch需要break;if不用;

    switch里面的选项可以没有顺序;if得在else之前;

<script>
        // 判断年份是否是闰年
        // 能被4整除,不能是100的倍数或能被400整除
        // 2020是闰年
        function ifRun(input){
            if ((input % 4 == 0 && input % 100 != 0)||input % 400 == 0){
                return console.log("Run");
            }
            return console.log("noRun");

        }
        ifRun(2021);
        

        let input = 2021;
        switch((input % 4 == 0 && input % 100 != 0)||input % 400 == 0){
            case true:
                console.log("该年是闰年");
                break;
            case false:
                console.log("该年不是闰年");
                break;
        }

function isRun(year) {
    
    switch(year % 400){
        case 0:
            console.log("该年是闰年");
            return;
        default:
            if (year % 4 == 0 && year % 100 != 0) {
                
                console.log("该年不是闰年");
            }
            console.log("该年不是闰年");         
    }
}

    </script>

总结:

1、JS的引入,应该写在什么位置

2、JS的数据类型

3、为什么要使用变量,变量的定义和声明 var let const

4、3种弹窗,特点,作用

5、函数(重点),

6、return的作用,全局变量、局部变量

7、运算符

8、typeof、isNaN

9、三元运算符

10、流程控制语句,两个流程控制之间的相互配合嵌套关系(重点)

posted @ 2022-07-13 01:02  来日可追  阅读(25)  评论(0编辑  收藏  举报