JavaScript学习笔记 一(1-25)

A

A-1 变量

A-1-1 认识变量

  1. 变量指的是在程序中保存数据的一个容器
  2. 变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
    也就是说,我们向内存中存储了一个数据,然后要给这个数据起一个名字,为了是我们以后再次找到他
  3. 语法:var 变量名 = 值(空格可有可无,最好是有)
  4. 一个变量名只能存储一个值
  5. 当再次给一个变量赋值的时候,前面一次的值就失效了
  6. 变量名称区分大小写(JS 严格区分大小写)

A:定义一个变量为 num

var num;

B:给num赋值

num = 100;

A+B:我们也可以在同一行定义并赋值

var num2 = 200;

C:定义,但不赋值,留在日后使用

var x

如果有多个变量需要同时定义,可以用逗号将他们隔开
var x,y
var x=1,y=2

A-1-2 命名规则

规则(必须遵守)

  1. 一个变量名称可以由数字、字母、英文下划线(_)、美元符号($)组成
  2. 严格区分大小写
  3. 不能由数字开头
  4. 不能是保留字或者关键字
  5. 不要出现空格

规范(建议遵守)

  1. 变量名尽量有意义(语义化)
  2. 遵循驼峰命名规则,由多个单词组成的时候,从第二个单词开始首字母大写
  3. 不要使用中文
    ***m

A-2 数据

A-2-1 数据类型

是指我们存储在内存中的数据的类型
我们通常分为两大类:基本数据类型复杂数据类型

  • 基本数据类型(number)
    数值类型(number)
    一切数字都是数值类型(包括二进制,十进制,十六进制,整数和浮点数等)
    NaN (not a number) ,一个非数字
    tip1:js中可以表示的最大的数字:Number.MAX_VALUE(1.7976931348623157e+308)
    如果使用Number表示的数值超过最大值,则会返回一个 Infinite 表示正无穷
    tip2:js中可以表示的无穷小:Number.MIN_VALUE(5e-324)
    如果使用Number表示的数值小于最大值,则会返回一个 0

  • 字符串类型(string)
    被引号包裹的所有内容(可以是单引号也可以是双引号)非数字类型

  • 布尔类型(boolean)
    只有两个(true或者false)

  • null类型(null)
    空值
    null这个值专门用来表示一个为空的对象
    注意:使用typeof检查null时返回的是 object

  • undefined类型(undefined)
    只有一个,就是undefined,表示没有定义值的意思(可以用于预留未定义值)
    Undefined 类型的值也只有一个,就是undefined
    当不给一个变量赋值时,他的值就是undefined
    注意:使用typeof检查undefined 时返回的也是undefined

A-2-2 判断数据类型

typeof

法一
var n1 = 100;
console. 1og(typeof n1);
法二
ar s1 = 'abcdefg';
console. 1og(typeof(s1));

判断多个需要用逗号隔开

注意:typeof typeof num 的结果一定是string

A-2-3 数据类型的转换

数据类型之间的转换,比如数字转成字符串,字符串转成布尔,布尔转成数字等

(1)其他数据类型转成数值

1、Number(变量)

可以把一个变量强制转换成数值类型。
可以转换小数,会保留小数。
可以转换布尔值。
遇到不可转换的都会返回NaN。

2、parseInt(变量)

从第一位开始检查,是数字就转换,直到一个不是数字的内容。
开头就不是数字,那么直接返回NaN。
不认识小数点,只能保留整数。

3、parseFloat(变量)

从第一位开始检查,是数字就转换,直到一个不是数字的内容。
开头就不是数字,那么直接返回NaN。
认识一次小数点。
除了加法以外的数学运算。
运算符两边都是可运算数字才行。
如果运算符任何一边不是一个可运算数字, 那么就会返回NaN。
加法不可用。

(2)其他数据类型转成字符串

1、toString()

有一些数据类型不能使用tostring()方法,比如undefined和null

2、String(变量)

使用 String() 函数做强制类型转换时,对于我们的Number 和Boolean 实际上就是调用 toString() 的方法
但是对于 null 和 undefined ,就不会调用 toString() 的方法,他会直接将 null 直接转换为"null"(将 undefined 直接转换为 " undefined ")
所有数据类型都可以

3、使用加法运算

在JS里面,+有两个含义:
(1)、字符串拼接:只要+任意一边是字符串,就会进行字符串拼接
(2)、加法运算:只有+两边都是数字的时候,才会进行数学运算

(3)其他数据类型转成布尔

Boolean(变量)
注意:在js中,只有"‘’、0、null、undefined、 NaN, 这些是false;其余都是true


A-3 运算符

A-3-1 数学运算符

加减乘除余
+
只有符号两边都是数字的时候才会进行加法运算只要符号任意一边是字符串类型,就会进行字符串拼接
当对非 number 类型的值进行运算时,会将这些值转换为 Number 然后再运算(字符串加法除外)

-
会执行减法运算
会自动把两边都转换成数字进行运算

*
会执行乘法运算
会自动把两边都转换成数字进行运算

/
会执行除法运算
会自动把两边都转换成数字进行运算

%
会执行取余运算
会自动把两边都转换成数字进行运算

注:任何值做 - * / 运算时都会自动转换为Number
可以利用这一特点进行类型转换(-0 *1 /1)

A-3-2 赋值运算符

  1. =
    就是把=右边的赋值给等号左边的变量名
    var num = 100
    将100赋值给num变量
    那么num变量的值就是100

  2. += (自增)

var a=10;
a += 10;
console. 1og(a); //=> 20

a+=10也就是a=a+10

  1. -= (自减)
var a=10;
a -= 10;
console. 1og(a); //=> 0

a-=10也就是a=a-10

  1. *=

  2. /=

  3. %=
    a%=10也就是a=a%10

A-3-3 比较运算符

==

比较符号两边的值是否相等,不管数据类型
1==‘1’
两个的值是一样的,所以得到true

===

比较符号两边的值和数据类型是否都相等
1===‘1’
两个值虽然-样,但是因为数据类型不一样,所以得到false

!=

比较符号两边的值是否不等
1 !=‘1’
因为两边的值是相等的,所以比较他们不等的时候得到false

!==

比较符号两边的值是否不等
1!==‘1’
因为两边的数据类型确实不一样,所以得到true

>=

比较左边的值是否大于或等于右边的值
1>=1结果是true
1>=0结果是true
1>=2结果是false

<=

比较左边的值是否小于或等于右边的值
1<= 2结果是true
1<= 1结果是true
1<= 0结果是false

>

比较左边的值是否大于右边的值
1>0结果是true
1>1结果是false
1>2结果是false

<

比较左边的值是否小于右边的值
1<2结果是true
1<1结果是false
1<0结果是false

A-3-4 逻辑运算符

&&
进行且的运算
符号左边必须为true并且右边也是true,才会返回true只要有一边不是true,那么就会返回false
true && true结果是true
true && false结果是false
false && true结果是false
false && false结果是false

||
进行或的运算
符号的左边为true或者右边为true,都会返回true只有两边都是false的时候才会返回false
true || true 结果是true
true || false 结果是true
false || true结果是true
false || false 结果是false

!
进行取反运算
本身是true的,会变成false
本身是false的,会变成true
!true结果是false
!false结果是true

!!a
转换成布尔值

&& ||
短路用法

A-3-5 三元运算符(条件运算符)

语法:条件表达式 ? 语句1 : 语句2
条件运算符在执行时,首先对条件表达式进行求值
1.如果该值为true,则执行语句1,并返回执行结果
2.如果该值为false,则执行语句2,并返回执行结果
注意:如果条件表达式的求值结果为非布尔值,那么会将其转换为布尔值然后再进行运算

A-4 if语句

A-4-1 if

if (表达式){
	(语句)
}

通过 () 里面的条件是否成立来决定 {} 里面的代码是否执行
如果表达式的值为true,则执行if后的语句,
如果条件表达式的值为false,则不会执行if后的语句,
可以使用代码让 if 控制多条语句。

<script>
    var a = 20;
    if(a>10 && a<=20){
        console.log("a = "+a);
        console.log("a大于10且小于等于20");
    }
</script>
    <script>
        var a=10;
        if(a=10)
        alert("1");//执行
        alert("2");//不会执行
        // if语句只能控制紧随其后的语句
        if(a>10)
        {
            alert("1")
            alert("2")
        }
    </script>

A-4-2 if else

通过 if 条件来决定,执行哪一个 {} 里面的代码
语法: if (条件) { 条件为 true 的时候执行 } else { 条件为 false 的时候执行 }
两个 {} 内的代码一定有一个会执行

// 条件为 true 的时候,会执行 if 后面的 {} 
if (true) {
	alert('因为条件是 true,执行')
}
	else {
	alert('因为条件是 true,不会执行')
}

// 条件为 false 的时候,会执行 else 后面的 {}
if (false) {
	alert('因为条件为 false,不会执行')
} 
	else {
	alert('因为条件为 false,执行')
}

A-4-3 if / else if

可以通过 if 和 else if 来设置多个条件进行判断
语法:

if (条件1) {
	条件1true 的时候执行
	} 
else if (条件2) {
	条件2true 的时候执行
	}

从头开始依次判断条件
如果第一个条件为 true了,那么就会执行后面的 {} 里面的内容
如果第一个条件为false,那么就会判断第二个条件,依次类推
多个 {} ,只会有一个被执行,一旦有一个条件为 true 了,后面的就不在判断了

A-4-4 if / else if / else

if / else if基本一致,只不过是在所有条件都不满足的时候,执行最后 else 后面的 {}

A-4-5 练习

目标:从键盘输入小明的成绩,100分时,奖励一辆BMW,80-90时,奖励一台iPhone15s,60-80时,奖励参考书一本,其他分数没有奖励。
代码:

var score = prompt("请输入小明期末考试成绩:");
if(score<0||score>100||isNaN(score)){
    alert("输入错误");
}
else{
    if(score == 100){
        alert("奖励一台BMW XM 2022");
    }
    else if(score>=80&&score<100){
        alert("奖励一台iphone 15s");
    }
    else if(score>=60&&score<80){
        alert("奖励一本《母猪产后护理》");
    }
    else{
        alert("奖励寂寞");
    }

A-5 switch语句

A-5-1 switch

格式:

switch(条件表达式){
    case 表达式1:
    	语句1;
    	break;
    /*case 表达式2:
    	语句2;
    	break;
    case 表达式3:
    	语句3;
    	break;*/
	default:
		语句4;
		break;

在执行时会依次将case后的表达式的值和switch后的表达式的值进行全等比较
如果比较结果为true,从当前case处开始执行代码,只要当前case后的代码都会执行,除非遇到 break 或运行结束
如果比较结果为false,则继续向下比较
如果所有的比较结果都为 false则执行 default 后的语句
按顺序执行

例子: 根据变量给出的数字显示是星期几

var week = 1
switch (week) {
  case 1:
    alert('星期一')
    break
  case 2:
    alert('星期二')
    break
  case 3:
    alert('星期三')
    break
  case 4:
    alert('星期四')
    break
  case 5:
    alert('星期五')
    break
  case 6:
    alert('星期六')
    break
  case 7:
    alert('星期日')
    break
  default:
    alert('请输入一个 1 ~ 7 之间的数字')
}

A-6 循环

循环结构,就是根据某些给出的条件,重复的执行同一段代码
循环必须要有某些固定的内容组成:初始化条件判断要执行的代码自身改变

A-6-1 WHILE 循环

while,中文叫 当…时,其实就是当条件满足时就执行代码,一旦不满足了就不执行了
语法 while (条件) { 满足条件就执行 }
因为满足条件就执行,所以写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了

// 1. 初始化条件
var num = 0;
// 2. 条件判断
while (num < 10) {
  // 3. 要执行的代码
  console.log('当前的 num 的值是 ' + num)
  // 4. 自身改变
  num = num + 1
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值