JavaScript 语法:变量、数据类型及数据类型转换
作者:
WangMin
格言:努力做好自己喜欢的每一件事
1|0变量
赋值变量用 var 关键字,情况如下:
1)先声明变量再赋值
var - 用于声明变量的关键字
varName - 变量名
2)同时声明和赋值变量
注意:多个变量同时声明与赋值时需要用逗号','隔开。
3)不声明直接赋值 (不推荐使用)
注意:变量可以不经声明而直接使用,但这种方法很容易出错,也很难查找排错,不推荐使用。
4)变量命名规范
- 由字母(a-zA-Z)数字(0-9)下划线(_)以及美元符号($);
- 不能由数字开头,如果以数字开头,直接报错;
- 变量名中不允许使用空格和其他标点符号;
- 不允许使用中文;
- 变量名长度不能超过255个字符,变量命名长度应该尽可能的短,并抓住要点,尽量在变量名中体现出值的类型;
- 命名尽量用英文并且具有一定的含义;
- 尽量驼峰式 命名,由多个单词组成时,每个单词的首字母大写,例如:var tagName="";
- 不能使用关键字与保留字、true、false 和 null;
- 首字母不要大写,大写是有特殊含义的,因为JavaScript 区分大小写;
- JS语句结束后要以";"结束。
2|0数据类型
JavaScript 变量能够保存多种数据类型:数值、字符串值、数组、对象等等。具体如下:
1) Number 数值类型(基本数据类型)
在JS中所有的数值都是Number类型(整数和小数),还有特殊的是NaN也是数值类型。最基本的数值类型字面量格式是十进制整数。例如:
注意:
- 由于内存的限制,ECMAScript 并不能保存世界上所有的数值
- 最大值:Number.MAX_VALUE
- 最小值:Number.MIN_VALUE
- 无穷大:Infinity, 如果超过了最大值就会返回该值
- 无穷小:-Infinity, 如果超过了最小值就会返回该值
- NaN 非法数字(Not A Number),JS中当对数值进行计算时没有结果返回,则返回NaN
上面提到的typeof是JavaScript中来判断数据类型的,下面会讲到。
- JS中整数的运算可以保证精确的结果
- 在JS中浮点数的运算可能得到一个不精确的结果
2) String 字符串类型(基本数据类型)
一组被引号(单引号或双引号)括起来的字符组成的文本内容,例如:
注意:引号不能一单一双,必须成对出现 。相同引号不能嵌套,不同引号可以嵌套。给变量加上引号, 那么变量将变为一个常量。
3)布尔值 boolean类型 (基本数据类型)
布尔型也被称为逻辑值类型或者真假值类型, 只能够取真(true)和假(false)两种数值,但是JS会把他们解析成1(true),0(false)。例如:
注意:
- 任何非零数值都是true, 包括正负无穷大, 只有0和NaN是false
- 任何非空字符串都是true, 只有空字符串是false
- 任何对象都是true, 只有null和undefined是false
4)Undefined (特殊数据类型)
Undefined这是一种比较特殊的类型,表示变量未赋值或者不存在,这种类型只有一种值就是undefined。例如:
注意:undefined是Undefined类型的字面量。
- undefined和10, "abc"一样是一个常量
- Undefined和Number,Boolean一样是一个数据类型
- 需要注意的是typeof对没有初始化和没有声明的变量都会返回undefined。
5)null(特殊数据类型)
Null 类型是表示一个空值,也是只有一个值的数据类型,这个特殊的值是 null。从语义上看null表示的是一个空的对象,所以使用typeof检查null会返回一个Object。例如:
注意:undefined值实际上是由null值衍生出来的,所以如果比较undefined和null是否相等,会返回true
6)Object对象(引用数据类型)
这里不过多的介绍,因为Object对象属于较复杂的数据类型,需要单独来理解。
3|0typeof运算符
typeof检测变量的数据类型,返回值如下:
返回值 | 含义 |
---|---|
undefined | 变量被声明后,但未被赋值。 |
string | 用单引号或双引号来声明的字符串。 |
boolean | true或false。 |
number | 整数或浮点数。 |
object | javascript中的对象、数组和null。 |
4|0数据类型转换
转换函数
1)将其它类型转换为字符串,调用被转换数据类型的 toString() 方法。例如:
注意:
- null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错。
- 该方法不会影响到原变量,它会将转换的结果返回。
2) parseInt() 解析出一个string或者number类型的整数部分,如果没有可以转换的部分,则返回NaN(not a number)。例如:
当parseInt()提取字符串中的整数时,应注意:
- 从第一位有效数字开始, 直到遇到无效数字。
- 如果第一位不是有效数字, 什么都提取不到, 会返回NaN。
- 第一个参数是要转换的字符串,第二个参数是要转换的进制。
3)parseFloat() 解析出一个string的浮点数部分(也就是小数部分),如果没有可以转换的部分,则返回NaN(not a number)
当parseFloat()提取字符串中的小数时,应注意:
- 会解析第一个小数点’.’, 遇到第二个.或者非数字结束。如上面的变量num1,保留小数部分后为1.2。
- 如果第一位不是有效数字, 什么都提取不到,则返回NaN(not a number)
- 不支持第二个参数,只能解析10进制数
- 如果解析的内容里只有整数,解析成整数
parseInt()函数与parseFloat()函数的共同点与区别:
- 共同点:利用parseInt()/parseFloat()都可以提取字符串中的有效整数
- 两者之前的区别:是前者只能提取整数,后者可以提取小数
强制类型转换
1)Boolean(value) - 把给定的值转换成Boolean型,例如:
2)Number(value)-把给定的值转换成数字(可以是整数或浮点数),例如:
- 如果是纯数字的字符串,则直接将其转换为数字
- 如果字符串中有非数字的内容,则转换为NaN
- 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
- 将布尔值转换为数字
- 将null转换为数字
- 将undefined 转换为数字
注意: Number()函数中无论混合字符串是否存在有效整数都会返回NaN,例如Number("123h")。
3)String(value)- 把给定的值转换成字符串
- 对于Number和Boolean也可以调用String()方法,只是调用的方式不同。如下:
- 如果想要把undefined和null转换为字符串的话,可以使用String()方法,如下:
隐式转换
1)任何数据+字符串:转换为字符串
任何数据和 +"字符串" 连接到一起都会转换为字符串,内部实现原理和String()函数一样,例如:
2)数字+布尔值:会先将布尔值用Number()进行数字转换(转换过程我们看不到),true转换为1,false转换为0,然后在与数字进行运算。例如:
3)布尔值+布尔值 :将布尔值分别用Number()进行数字转换(转换过程我们看不到),true转换为1,false转换为0,然后进行运算。例如:
以上仅是个人见解,若有不足之处欢迎在下方评论指出,那就先分享到这里!! 😄 后续继续更新!!
__EOF__

本文链接:https://www.cnblogs.com/wmbuke/p/13816996.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库