JavaScript学习笔记——3、变量、常量和数据类型

  大家好,我是阿赵。继续学习JavaScript,这次来学习的是变量、常量和数据类型。

一、 变量

  变量是在编程里面很经常出现的一个名词了。

1、什么是变量?

  变量是计算机存储数据的“容器”,可以理解成是一个盒子。
  需要注意的是,变量并不是数据本身,只是一个“容器”。
  还有另外一个名词,叫做字面量(Literal),这个应该才是对应的变量的值。

2、 声明变量

语法:let 变量名
比如:

let playerName;

  这样就声明了一个叫做playerName的变量。
  也可以同时声明多个变量,比如:

let playerName = “阿赵”,age = 18;

  这样就可以同时一行里面声明多个变量,用逗号分隔。

3、 let和var的区别

  除了用let声明变量,应该还有朋友见过用var来声明变量的,比如刚才的例子,可能会写成:

var playerName;

  这样也能声明一个变量。那么let和var之间有什么区别呢?
var:允许重复声明,比如:

  <script>
    var playerName = "小明";
    var playerName = "小红";
    alert(playerName);
  </script>

  显示结果:
在这里插入图片描述

let:不允许重复声明变量,否则会报错。比如:

  <script>
    let playerName = "小明";
    let playerName = "小红";
    alert(playerName);
  </script>

  这样写是不允许的,有报错提示:
在这里插入图片描述

  其实var是早期的声明变量的声明符,在早期的版本是大量的使用的。但由于它存在一些问题,所以不够严谨
比如:
  1. 可以先使用再声明。
  2. var声明过的变量可以重复声明
  3. 比如变量提升、全局变量、没有块级作用域等

  后来就出现了let来替代了var,解决了var存在的这些问题。所以从理论上来说,使用let来声明变量,会更严谨。

4、 赋值变量

给变量赋值很简单,就是:

变量名 =

=等号就是赋值号。
比如

let playerName = “阿赵”;

  这样就把值“阿赵”赋值给了变量playerName了。

5、 变量的本质

  变量的本质是内存,程序在内存中申请的一块用于存放数据的空间。用变量名查找到内存中存放数据的空间。

6、 变量的命名规则和规范

1. 规则

  规则指的是必须遵守的,如果违反了就会报错
(1) 不能用关键字作为变量名,关节字指的是JavaScript里面已经有含义的单词
(2) 只能用下划线、字母、数字和&组成,且不能用数字开头
(3) 字母严格区分大小写

2. 规范

  规范是不一定要遵守的,但一般约定俗成的习惯。
(1) 起名字要有意义
(2) 遵守命名法,比如

驼峰命名法:playerName

或者

匈牙利命名法:m_playerName

或者

下划线命名法:player_name

二、 常量

  当某个值永远不会改变时,可以声明为常量。
  用const声明。
  常量不允许重新赋值,而且声明时必须赋值。
比如

const playerName = “阿赵”;

  那么这个playerName就是常量,而且它的值永远都是“阿赵”。

三、 数据类型

  JavaScript是弱数据类型,所以并不需要在声明变量或者常量的时候就指定数据类型,而是在赋值之后才知道数据的类型。

1、数组类型分类

1.基础类型

number:数字型
string:字符串型
boolean:布尔型
undefined:未定义类型
null:空类型

2.引用类型

object:对象类型

2、undefined和null的区别

当变量只声明但不赋值的时候,默认值是undefined,而null是需要主动赋值的。
比如:

let obj = null;

然后2者在使用上也有区别:

undefined + 1 = NaN
null+1 = 1

3、 检测数据类型

  使用typeof可以检测数据的类型,比如:

  <script>
    let a = 10;
    let b = "10";
    let c = true;
    console.log(`a的类型是${typeof a}`);
    console.log(`b的类型是${typeof b}`);
    console.log(`c的类型是${typeof c}`); 
  </script>

  运行的结果:
在这里插入图片描述

4、 类型转换

  使用表单、prompt获取的数据,默认都是字符串,所以需要转换成其他我们需要的类型。

1. 隐式转换

系统内部自动将数据转换。
规则:
+号两边只要有一个是字符串,会把另外一个也转成字符串
除了+以外的算术运算符,比如-*/都会把数据转成数字型。
优点:不用人工干预,自动转换
缺点:转换不明确,容易出现意料以外的情况。

2. 显式转换

转换成数据型:
Number(数据):转换成数字,如果不能转换,则返回NaN
parseInt(数据):转换的时候只保留整数
parseFloat(数据):转换的时候可保留小数。
显式转换的优点是明确,可控性强。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值