JavaScript定义变量及赋值

news2024/10/4 21:52:54

定义变量及赋值

 ☞ 定义变量,未赋值
    var 变量名; 默认值是undefined   
 ☞ 定义变量,且赋值
   	var 变量名 = 数据;
 ☞ 总结:
    1. 一个变量一次只能保存一个值;
    2. 以最后一次赋值为准
    3. JS变量区分大小写

变量命名规范

☞ 规则    必须遵守的,不遵守的话 JS引擎 发现并报错 
    1. 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:var usrAge, num01, _name
    2. 区分大小写 强调:JS 严格区分大小写 ,var app;var App; 是两个变量
    3. 不能 以数字开头
    4. 不能 是关键字、保留字 和 代码符号,例如:varforwhile&, class
    5. 不能出现空格
        
☞ 规范  建议遵守的,不遵守的话 JS引擎 也不会报错
	1. 变量名必须有意义
    2. 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。

JS关键字
在这里插入图片描述
JS保留字
在这里插入图片描述

课堂测试

1.下面四个变量声明语句中,哪一个变量的命名是正确的?
    Avar for               Bvar txt_name               
    Cvar myname myval      Dvar 2s
2. 定义两个变量,求和

3. 定义两个变量,交换两个变量的值

// 如果变量名用汉字可以不可以 比如:张三

注释

单行注释

用来注释一行代码,增强代码可读性

// 这是一个变量
var name = 'hm';

多行注释

用来注释单行或多行代码,增强代码可读性

/**
   这是一个多行代码的注释
   定义name和age变量
**/
var name ="张三"
var age = 20

JavaScript 数据类型(重点)

☞ 数据类型:数据类型指的是变量的数据类型
☞ 数据类型:简单数据类型,复杂数据类型

简单数据类型

☞ 五种[es5]:  Number  String  Boolean Undefined  Null
  • 数值类型(number)
☞ 凡是数字都属于该类型【整数,小数,负数】

☞ 只要变量的值是一个具体的数字,那么当前变量的数据类型就是数值类型

☞ number类型表示的数字大小:
	  最大值是±1.7976931348623157乘以10308次方    Number.MAX_VALUE
  	  最小值是±5 乘以10-324次方				  Number.MIN_VALUE

☞ 数值类型表示方式:(了解)
	 ✔ 十进制表示
 	var  n1=10,n2=9, n3=100;

	 ✔ 十六进制表示
 	以 0x开头 0到9之间的数字,a(A)-f(F)之间字母构成。 a-f对应的数字是10-15
	[0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f]

		var num = 0xA;

	 ✔ 八进制表示
 	八进制直接以数字0开始,有0-7之间的数字组成。[0,1,2,3,4,5,6,7]
    var num1 = 07;   
    var num2 = 06;  
    var num3 = 05;   

☞ 备注:
	 进行算数计算时,八进制和十六进制表示的数值最终都将被转换成十进制数值。
  • 字符串类型(string)
☞ 字符串可以是引号中的任意文本。可以使用单引号或双引号
	如果数据是字母,符号,汉字,这些都是字符串类型,字符串类型的就要加引号
☞ 在js中一般写字符串类型的变量时候,推荐使用单引号。
	字母,汉字,符号作为数据存在必须要用引号包含【var num = "abcdefgabcd""aaaaaaaaa";】
不管是什么数据如果用引号包含就变成字符串类型

☞ 注意:
  	 1. 单引号和双引号之间的嵌套
  	例如: 输出    我是"高帅富"程序猿;  

     2. 转义字符【\】
     \n        换行
     \\		斜杠
     \'		单引号
    \"		双引号
    \r 	   回车符
    例如:
    var strMsg = 'I'm the GOD of my world ~!';   //输出:I'm the GOD of my world ~!
    var strMsg2 = "I"m the GOD of my world ~!";  //输出:I"m the GOD of my world ~!
    var strMsg3 = '反斜杠是这个 \\,神奇!';  //输出:反斜杠是这个 \,神奇!
  • 布尔类型(boolean)(bool)
true(真)  和 false (假)
  • null空类型,undefined类型(了解)
//如果一个变量没有赋值,该变量的默认是undefined
 var n1;
//如果一个变量的值是undefined,那么该变量的数据类型就是undefined类型

复杂数据类型(目前不讲)

☞ Object 对象,Array 数组,Function 函数

课堂测试

请说出如下变量分别对应的数据类型是什么?
	var  a1=123;    var a2="123";    var a3=true;  var a4="false";   var a5="1.63";
	var  a6; 	   var a8="null"
    type0f(变量)
下列有关数据的类型说法错误的是( )
A: 数据:‘123’。数据类型为字符串类型。
B: 数据:null。数据类型为null类型。
C: 数据:‘false’。数据类型为布尔类型
D: 数据:true。数据类型为布尔类型

基础数据类型不包含下列哪一种()
A: 布尔值 Boolean
B: 数组 Array
C: 字符串 String
D: 数值 Number

数据类型判断

 ☞ 使用  typeof 变量  可以得到对应变量的数据类型
 ☞ 例如:
	   var n1 = 123;
		//获取n1的数据类型
		console.log(typeof n1);
		var n2 = '123';
		console.log(typeof n2);
		var n3 = true;
		console.log(typeof n3);

字面量

在源代码中一个固定值的表示法。【通过看具体的值,就能够知道数据类型】

数值字面量:8, 9, 10

var num = 2;var num2 = 3;

字符串字面量:'黑马程序员', "大前端"
var num = "123";var str = 'wahaha';

布尔字面量:truefalse
var n = true; var m = fasle;

课堂测试

练习思考题:计算总工资(总工资 = 基础工资 + 绩效工资)

数据类型转换

  • 转数值类型【Number,parseInt,parseFloat】

     ☞Number(变量):
      	 总结:
         	  1. 可以通过该方法将数据类型转换为数值类型
              2. 在转换的过程中可以将原来的值保留,遇到小数直接保留下来,不会舍去
              3. 如果变量无法转换为数值类型,那么返回的结果是NaN; 对应的数据类型依然是数值类
              4. 如果将布尔类型转换为数值类型,true 转化后的结果是 1  false 转化后的结果是0
       NaN:not a number【number类型】
              
      ☞parseInt(变量)取整
      	var num1 = parseInt("12.3abc");   // 返回12,如果第一个字符是数字会解析直到遇到非数字结束
        var num2 = parseInt("abc123");   // 返回NaN,如果第一个字符不是数字或者符号就返回NaN
        备注:
            1  只会保留整数部分,通过该方式进行数据类型转换后得到就是一个整数
            2. 如果一个变量中的值无法转换为具体数字,那么返回的结果是一个 NaN 的值
            3. NaN (not  a  number)   ----NaN对应的数据类型是数值类型
            4. 通过该方法可以将其他数据类型转为数值类型
            
      ☞parseFloat(变量)取浮点
    	总结:
        	 1. 通过该方法可以将其他数据类型转换为数值类型
             2. 在转换过程中,如果遇到小数,那么会直接将小数部分保留
             3. 如果转化不成功过,返回的结果NaN
    
  • 转字符串类型【n.toString,String(n)】

     ☞  变量.toString()
     		var num = 5;
    		console.log(num.toString());String(变量)
    
    n.toString();
    String(n)
    	备注:
    	String()函数存在的意义:有些值没有toString(),这个时候可以使用String()。比如:undefinednull
    
  • 转布尔类型Boolea(n)

Boolean(n) 
 备注:
	 0  |''(空字符串) | null | undefined | NaN  会转换成false  其它都会转换成 true

课后练习

 1. 让用户输入一个三位数【整数】,使用代码分别获取到这个三位数字百位,十位,个位上的数字。
  	 例如:
  	 	用户输入: 456, 最后在浏览中分别弹出 4,5,6

[(678)百位:数字 / 100 ==> 6.78==>取整]
[(678)十位:(数字 - 百位*100) / 10 ==> 取整]
  	 	
 2. 用户任意输入一个三位数,求这个三位数字百位,十位,个位之和。

运算符

算数运算符

+ 运算
	总结:
       1. 如果是数值类型的变量相加,结果就是一个数值类型的结果
       2. 如果是一个字符串类型的变量相加,最后的结果就是字符串(加号起到的作用就是拼接字符串的功能)
   如果+两边都是数字就是数学上的加,如果两边有字符串出现就会执行字符串的连接
 -运算
	 总结:
     	1. 如果是数值类型的变量相减,结果就是一个数值类型的结果
        2. 如果是数字的字符串相减,得到的结果也是一个数值类型结果(发生了隐式类型转化)
            var n1 = '123';
            var n2 = '123';
    	3. 如果是非数字的字符串相减,得到的结果是NaN
 *运算
	乘法
	
 /运算
	   1.如果是数值类型的变量相除,结果就是一个数值类型的结果
       2. 如果是数字的字符串相除,得到的结果也是一个数值类型结果(发生了隐式类型转化)
       3. 如果是非数字的字符串相除,得到的结果是NaN
       4. 如果除数是0 ,得到的结果是 Infinity (无穷大的值)
	 
 %取余(获取余数)【求两个数相除的余数】  

赋值运算符

复合赋值运算符
+= |  -=   |  *=  |  /=  |   %= 

var  a += b ;    =====> 等价于        a = a+b;
a %= 3;>>a = a % 3;
a -= 6;>>a = a - 6;

一元运算符

  • 前置++ 和 后置 ++

    ++自增1
    用法:a++++a
    // 如果a++或者++a单独运算的话,都代表a自增1
    // 但是:如果有其他操作(运算符)参与运算的时候,那么a++和++a,就有不同的含义
    var b = a++;==>先把a赋值给b,a再自增(自加)
    var b = ++a;==>先把a自增1,再赋值给b
    
  • 前置-- 和 后置–

    减减和加加同理
    自减1
    

    测试

1.
    var    a;
    var    b=6;
    a=++b;
    请问:a的值是多少,b的值是多少。
    a=b++;
    请问:a的值是多少,b的值是多少。
2.
var a = 1; var b = ++a + ++a;   console.log(b);    
var a = 1; var b = a++ + ++a;   console.log(b);    
var a = 1; var b = a++ + a++;   console.log(b);    
var a = 1; var b = ++a + a++;   console.log(b); 

比较运算符

1.   >  
    
2.   <
    
3.   >=     大于 或者 等于,只要有一个满足即可
    
4.   <=     小于 或者 等于,只要满足一个即可

5.  ==      只用来比较变量中的值是否相等,不考虑数据类型
    
6.  ===     用来判断值和数据类型必须同时相等
    
7.  !=	    判断值是否不相等,不考虑数据类型
 
8.  !==      判断值和数据类型
    
    
☞ 总结:
	  ✔ 通过比较运算符得到的结果只有两个结果,一个是正确的,一个是错误的
      ✔ 通过比较运算符得到的结果 只有 true[正确]false[错误]

判断一个变量是不是NaN

NaN:not a number【特殊值】
isNaN:is not a number【判断】

​	用来判断一个值是否是数字,如果是数字得到的false,如果不是数字得到的是trueisNaN(n)'aaa' is not a number
例如:
	var usrAge = 21;
    var isOk = isNaN(usrAge);
    console.log(isNum); // false

逻辑运算符

 1.   ||  或: 条件只要有一个满足即可
      总结:
      	  1. 如果条件中有一个结为true(代表有一个条件满足了),那么通过或运算后最后的结果为true
          2. 如果条件中结果都不满足,那么通过或运算后结果为false
          如果有一个为true,结果为true,只有两个都为false,结果为false
     
 2.   &&  与(且): 要求所有的条件都必须满足才可以
 	  总结:
	      1. 如果条件都为真(true),那么通过且运算后最后的结果也是真(true2. 如果条件中自少有一个条件不满足(false),那么通过且运算后的结果为false
          两个条件都为true,结果true,有一个为false,结果为false
     
 3.   !	  非(取反) : 

课堂测试

js 的运算符不包含哪项()  
A: 类比运算符
B: 逻辑运算符
C: 赋值运算符
D: 比较运算符

运算符优先级(了解)

优先级从高到底
	1. ()  优先级最高
	2. 一元运算符  ++   --   
	3. 算数运算符  先*  /  %+   -
	4. 关系运算符  >   >=   <   <=
	5. 相等运算符   ==   !=    ===    !==
	6. 逻辑运算符 !&&||
	7. 赋值运算符:=
 1:括号最高2,赋值运算符最后执行
 一旦有多个运算符参与运算的时候,脑子里必须知道运算符有优先级的问题存在

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

平安银行广州分行:用有温度的金融服务,实现健康与财富双重守护

甄选优质权益&#xff0c;守护客户身心健康   2024年1月&#xff0c;平安银行广州分行成功举办两场心理疗愈工作坊活动&#xff0c;旨在助力客户们摆脱工作和生活的喧嚣繁忙&#xff0c;在平静的疗愈气氛中拥抱自我、感受内心的平和。在“律动心弦-音乐疗愈工作坊”活动中&am…

C语言王道第八周一题

Description 初始化顺序表&#xff08;顺序表中元素为整型&#xff09;&#xff0c;里边的元素是 1,2,3&#xff0c;然后通过 scanf 读取一个元素&#xff08;假如插入的是 6&#xff09;&#xff0c;插入到第 2 个位置&#xff0c;打印输出顺序表&#xff0c;每个 元素占 3 个…

堆和堆排序【数据结构】

目录 一、堆1. 堆的存储定义2. 初始化堆3. 销毁堆4. 堆的插入向上调整算法 5. 堆的删除向下调整算法 6. 获取堆顶数据7. 获取堆的数据个数8. 堆的判空 二、Gif演示三、 堆排序1. 堆排序(1) 建大堆(2) 排序 2.Topk问题 四、完整代码1.堆的代码Heap.cHeap.htest.c 2. 堆排序的代码…

RT-Thread: STM32 SPI使用流程

1.添加驱动 ①点开设置界面 ②勾选看门 SPI 驱动 ③点击保存 ④查看添加的驱动文件 drv_spi.c 2.打开驱动头文件定义 ①打开配置文件 ②打开定义 3.打开需要开启的SPI总线 打开 drivers 目录下的 board.h 用SPI搜索&#xff0c;找到如下文字&#xff0c;打开对应的宏。 /*-…

Windows 和 Anolis 通过 Docker 安装 Milvus 2.3.4

Windows 10 通过 Docker 安装 Milvus 2.3.4 一.Windows 安装 Docker二.Milvus 下载1.下载2.安装1.Windows 下安装&#xff08;指定好Docker文件目录&#xff09;2.Anolis下安装 三.数据库访问1.ATTU 客户端下载 一.Windows 安装 Docker Docker 下载 双击安装即可&#xff0c;安…

麒麟系统—— openKylin 安装 redis

麒麟系统—— openKylin 安装 redis 一、准备工作1. 确保麒麟系统 openKylin 已经安装完毕。 二、下载安装文件三、解压安装解压安装 四、配置与运行修改配置文件以配置文件运行 五、加入到服务中最终&#xff1a;介绍配置的其他参数使用 Redis是一种开源的、基于内存的高速缓存…

NodeJs环境安装与配置

最近电脑重装了系统&#xff0c;开发环境啥的都得重装&#xff0c;顺便记录下 nodeJs 的安装与配置&#xff0c;方便需要的同学查看&#xff0c;也方便自己以后查找。 安装 下载地址&#xff1a;https://nodejs.cn/download/ 根据需要选择自己环境需要的下载即可&#xff0c;…

Mysql-存储引擎-InnoDB

数据文件 下面这条SQL语句执行的时候指定了ENGINE InnoDB存储引擎为InnoDB: CREATE TABLE tb_album (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 编号,title varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 相册名称,image varc…

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;自动化助手显示物品数据-CSDN博客 然后游戏中有弓箭&#xff0c;弓箭有数量&#xff0c;可以作为突破口&#xff0c;也可以使用物品id 获取弓的方式 获取弓箭的方式 然后搜索250 然后搜索出一个 然后…

LMC:通过大模型合作与互相评估来进行无需训练的开放集识别

论文名称&#xff1a; LMC: Large Model Collaboration with Cross-assessment for Training-Free Open-Set Object Recognition 论文链接&#xff1a; https://readpaper.com/paper/4803888389338169345 非常高兴跟大家分享我们接收于NeurIPS 2023的工作LMC&#xff1a;通…

小项目:使用MQTT上传温湿度到Onenet服务器

前言 我们之前分别编写了 DHT11、ESP8266 和 MQTT 的代码&#xff0c;现在我们将它们仨整合在一起&#xff0c;来做一个温湿度检测小项目。这个项目可以实时地将 DHT11 传感器获取到的温湿度数据上传到 OneNET 平台。通过登录 OneNET&#xff0c;我们随时随地可以查看温湿度数…

windows消息循环之手撸一个Win32窗口程序

Windows消息循环&#xff08;Windows Message Loop&#xff09; 在Windows操作系统中&#xff0c;一个程序通过不断地接收和处理消息来保持活动状态的一种机制。在Windows编程中&#xff0c;消息循环是处理用户输入、操作系统事件和其他消息的关键部分。 在Windows应用程序中…

python 基础知识点(蓝桥杯python科目个人复习计划26)

今日复习内容&#xff1a;基础算法中的前缀和 1.定义&#xff1a; 前缀和&#xff1a;对于一个长度为n的列表a&#xff0c;前缀和为&#xff1a; sum[i] a[1] ...a[i];例如&#xff1a;a [1,2,3,4,5],则它的前缀和数组sum为&#xff1a;[1,3,6,10,15]。 2.前缀和的性质 …

c语言实战之贪吃蛇

文章目录 前言效果展示游戏用到的图片游戏思路一览游戏前准备一、贪吃蛇、食物、障碍物节点坐标的结构体二、枚举游戏状态、和贪吃蛇的方向三、维护运行的结构体 游戏开始前的初始化一、学习图形库相关知识二、设置背景三、欢迎界面四、初始化贪吃蛇五、生成障碍物六、生成食物…

董仲舒是中国两千多年主流思想的总建造师

仕途不得志&#xff0c;董仲舒在家教书。董仲舒写了《春秋繁露》&#xff0c;用来解释《春秋》。 董仲舒把诸子百家的思想吸收之后&#xff0c;融入儒家&#xff0c;把儒家发扬光大。 儒家思想体系&#xff0c;孔子是总设计师&#xff0c;董仲舒是总建造师&#xff0c;朱熹是…

linux centos 查看端口是否打开与打开端口

查看端口是否打开 talnet talnet ip 端口linux查看防火墙开放情况 firewall-cmd --list-all打开端口 其中permanent表示永久生效&#xff0c;public表示作用域&#xff0c;443/tcp表示端口和类型&#xff0c;执行规则的重载 firewall-cmd --zonepublic --add-port443/tcp …

D6287F——正反转马达驱动电路,采 用 SOP8的 封 装 形 式 封 装 。驱动电流最高可达1.0A

D6287F 是 一 块 正 反 转 马 达 驱 动 电 路 &#xff0c;两 种 逻 辑 输 入 方 式 可 控 制 马 达 的 正 转 、 反 转 、 停 止 、 中 断 等 。 内 置 马 达 停 止 时 省 电 电 路 及 热 保 护 电 路 。 最 大 驱 动 电 流 达 1.0A 。 广 泛 用 于 VCRs及 音 频 设 备 等 电…

福州一酒店发生火灾 富维图像烟火识别来揭秘

最近&#xff0c;福州一家知名酒店发生了火灾事件&#xff0c;所幸及时控制&#xff0c;未造成重大伤亡。这一事件再次提醒我们&#xff0c;商业场所的火灾安全不可忽视。在这种情况下&#xff0c;北京富维图像公司推出的FIS智能图像识别系统就显得尤为重要。 FIS系统能够通过已…

开始学习第二十五天(番外)

今天分享一下写的小游戏啦 头文件game.h #include<stdio.h> #include<time.h> #include<stdlib.h> #define H 3 #define L 3 void InitBoard(char Board[H][L], int h, int l); void DisplayBoard(char Board[H][L], int h, int l); void playermove(cha…

游戏引擎在进化,下一代3D创建引擎#a16z

这是一篇发表在a16z的文章&#xff0c;文中的观点非常值得我们学习。我花了点时间对原文进行梳理&#xff0c;挑选/补充了一些信息&#xff0c;分享给大家。 a16z.com/unbundling-the-game-engine 解开游戏引擎&#xff1a;下一代3D创作引擎的崛起 作者&#xff1a;Troy Kirwin…