一、变量:内存中存储数据的容器,一个变量只能存储一个值
1.语法:(1)显示定义:var 变量名=值
(注意:浏览器会自动把当前变量的声明提升到script中最顶部,也被称为提升到作用域的最顶端)
(2)隐式定义:变量名=值(不推荐)
2.两者的区别:
(1)显示定义变量,可以在创建前和创建后调用;
隐式定义变量,只能在创建之后调用;
(2)显示定义的变量可以先创建,后赋值;
隐式定义的变量,必须在创建的时候赋值;
3.变量的命名规则:(必须遵守)
(1)变量名只能由数字,字母,下划线,以及$符号组成
(2)不能以数字开头
(3)不能是关键字和保留字
(4)严格区分大小写
根据情况来遵守:
(1)语义化
(2)遵循驼峰命名规则
4.JavaScript关键字

5.JavaScript保留字

二、数据类型
基本数据类型
undefined:声明了变量,但没有赋值
number:数字类型
string:字符串类型
null:空值(非原始数据类型)
boolean:true或flase
Object:对象类型
判断数据类型
使用typeof关键字来进行判断,返回数据类型
isNaN() 函数用于检查其参数是否是非数字值,实际上,它是判断一个值能否被 Number() 合法地转化成数字;如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。
数据类型转换
(1)其他类型转为数值类型:
Number():整转,转换的内容种如果有非数字的字符时,直接返回一个NaN
parseInt():单换,从左往右依次检查当前字符是否为数字,如果是数字,则继续转换下一个字符;如果不是数字,则停止转换,返回已转换好的结果;如果第一个字符就不是数字,则直接返回NaN
parseFloat():单换,从左往右依次检查当前字符是否为数字,如果时数字,则继续转换下一个字符;如果不是数字,则停止转换,返回已转换好的结果;如果第一个字符就不是数字,则直接返回NaN
+号:整转,转换的内容中如果有非数字的字符时,直接返回一个NaN
注意:布尔值在转为数值类型时,必须要整转;并且true转为1,false转为0
注意:+号左右两边如果没有字符串,则做加法运算;如果有一个或两个都是字符串时,则该把符号左右两边的内容拼接起来
(2)其他类型转为字符串:
String(变量)
变量.toString
使用+号拼接空字符串来进行转换
数字.toFixed(n):将保留指定小数位数的数字转为字符串(n是保留小数点后几位小数)
(3)其他类型转为bool类型:
Boolean(变量)
注意:0、underfined、“”、null、NaN,以上几种情况会转为false,其他的值都将转为true
(4)小数计算不精准:
原因:计算机内部对数字的处理要转成二进制,小数转二进制有时会转成无限死循环,导致计算机存储小数不精准,所以计算结果也不精准。
解决方法:
先乘以10的n次方将两个数字都转成整数,计算,除以10的n次方
数字toFixed(数字)-强制保留小数点后几位