javascript01

本文介绍了JavaScript中的变量声明与赋值,包括命名规则和弱类型特点。讨论了常量的特性,以及数据类型的分类,如数值型、字符串型和布尔型。文章还详细讲解了数据类型转换,包括隐式转换和强制转换,并举例说明。此外,还涵盖了运算符,如算术、比较和逻辑运算符的概念和用法。
摘要由CSDN通过智能技术生成

变量

 存储数据的容器

 (1)声明变量

  var  x=1;

  var  a=1,b=2;

  使用关键字var来声明变量,也可以一次声明多个变量

 (2)变量的命名规则

  可以由字母、数字、下划线、美元符号组成,不能以数字开头,不能使用关键字

  语义化(可读性)

  用户名  user_name  userName   yongHuMing

  密码   password

 (3)变量的赋值

  变量声明后未赋值则为undefined(未定义)

  变量声明后可以被重新赋值,并且赋不同类型的值,这是弱类型语言的特点

  练习:声明多组变量分别保存商品的单价和数量,声明变量暂时为空,用于保存总价,计算总价并打印结果。

常量

 和变量一样用于存储数据的容器,声明后必须赋值,不允许重新赋值

 const pi=3.14;

 使用const声明常量

数据类型

 分为原始类型和引用类型

 原始类型分为数值型、字符串型、布尔型、未定义型、空

 (1)数值型

 (2)字符串型

 (3)布尔型

 (4)未定义型

 (5)空

数据类型转换

分为隐式转换和强制转换

 1)隐式转换

 在运算过程中自动产生的数据转换

 (1)数字+字符串    数字转换为字符串

   1 + '2'  // '12'

  (2)数字+布尔型  布尔型转换数值   true -> 1  false -> 0

   2 + true  //3

   2 + false  //2

  (3)布尔型+字符串   布尔型转为字符串

   true + '5'  //'true5'
加号(+)的作用

执行数字之间的加法运算

执行字符串之间的拼接
NaN:Not  a  Number(不是一个数字)
在将一个数据转换为数值型时候,没有成功得到一个数字就会返回NaN
NaN和任意数字执行运算,结果还是NaN

 所有的隐式转换为数字都是会自动调用函数Number完成的

 2)强制转换

  (1)强制转换为数值型

   Number()

Number('1')  //1
Number(true)  //1
Number(false)  //0
Number(undefined)  //NaN
Number(null)  //0
Number('1a')  //NaN

 (2)强制转换为整型

parseInt()

   强制将字符串和小数转为整型

parseInt('3.94')  //3  
parseInt('6.18a')  //6
parseInt('a6.18') //NaN
parseInt(5.9)  //5

  undefined  null  true  false都是返回NaN

 (3)强制转换为浮点型

   parseFloat()

   强制将字符串转换为浮点型

parseFloat('3.14')  //3.14
parseFloat('6.18a')  //6.18
parseFloat('6a')  //6
parseFloat('a6.18')  //NaN

  (4)数值和布尔型强制转字符串

   toString()

var num = 5;
num.toString()  //'5'

运算符

 表达式:由数据本身或者由运算符连接的操作数据组成的形式称作表达式

 运算符分为算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、三目运算符

 (1)算术运算符

  +  -   *   /   %   ++   --

  %  取余

  ++  自增,在原来的基础之上加1

  --   自减,在原来的基础之上减1

 (2)比较运算符

  >  <   >=  <=   ==(等于)   !=(不等于)   ===(全等于)   !==(不全等于)

  等于:只是比较两者的值是否相同,可能会发生隐式转换

  全等于:同时比较类型和值,都相同结果才是true,否则false

  不等于:比较值是否不相同

  不全等于:同时比较类型和值,有一个不等为true,否则false

  3>'10'    数字和字符串比较,字符串转为数值

  '3'>'10'   字符串比较,比较的是首个字符的Unicode码

    '3' -> 51   '1' -> 49

  3>'10a'  //false

  3<'10a'  //false

  3=='10a'  //false

NaN和任何值比较(>  <  >=  <=  ==  ===)结果都是false

NaN == NaN  //false

 (3)逻辑运算符

  &&   ||    !

   &&  逻辑与,关联的两个条件都为true,结果是true,否则false

   ||   逻辑或,关联的两个有一个为true,结果是true,否则false

   !   逻辑非,取反

  短路逻辑

   逻辑与,如果第一个条件是false,就不再执行第二个条件

   逻辑或,如果第一个条件是true,就不再执行第二个条件

  练习:以下程序运行是否会报错

var a = 3;

a > 1  &&  console.log(num);

a < 5  ||  console.log(num);

   短路逻辑关注点在于是否会执行第二个表达式。

  练习:声明变量保存一个人的年龄,使用短路逻辑,如果满18岁打印‘成年人’

 (4)位运算符

  模拟计算机底层的运算,先把数据转为2进制,然后进行运算;当运算完以后再把结果转回成10进制。

  1     2    3     4     5     6     7      8

  1    10   11   100   101  110   111   1000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值