JS的变量知识
1.变量的数据类型
因为存放在变量中的数据是放在计算机的内存中的,计算机只识别0和1,所以需要对不同类型的数据进行转义,转义的结果会导致所需空间不同,所以JS中分成很多种数据类型,以便计算机储存时使用。
数值类型(number):1234567890
字符类型(string):"123" 'asd' "文字" "数据"(被单引号或双引号,包裹的部分,引号必须配套使用)
定义了未赋值类型(undefined):这是一种特殊类型,当变量被声明,但是没有被赋值的时候,那么该变量的类型的undefined
布尔值类型(boolean):true,false (真,假)
对象类型(object):{}object
数组类型(array):[]
如何区分或得知不同的数据类型:
通过关键字 typeof 变量名
小技巧:声明一串变量时可以这么写,var a=1,b=2,c=3;(但是不推荐初学者这么用,因为这样的声明方式会导致注释不明确)
2.变量命名规则和关键字的介绍
变量的名字 就像 人的名字一样,不能乱起。
你的代码不是只有你一个人看,变量既然是名字,那就这个名字就要有特殊的意义:
举个栗子:翠花,我们能从这个名字中得到什么信息?(这个名字应该是个女的,父母应该希望她长得跟花一样,一个美好的愿景)
小钢炮?
我们能从名字中读出很多含义,是因为我们的语言常识,同样,变量也有一套类似的常识标准,代表了各种含义,如下:
![](https://img2018.cnblogs.com/blog/1771828/201909/1771828-20190920205117993-1657066141.png)
也就是第一个规则:
语义化,前缀就能表示出这个变量的类型
第二个规则:
开头必须为字母或者$或者_
那么能不能使用typeof做为变量名呢?想都别想!
第三个规则:
关键字和保留字不能用做变量名。
关键字:
以下这些关键字用于执行特定操作等。按照规则,关键字也是语言保留的,不能用做标识符。
break
|
do
|
instanceof
|
typeof
|
case
|
else
|
new
|
var
|
catch
|
finally
|
return
|
void
|
continue
|
for
|
switch
|
while
|
debugger*
|
function
|
this
|
with
|
default
|
if
|
throw
|
delete
|
in
|
try
|
|
|
保留字:未来可能做为关键字的存在
abstract
|
enum
|
int
|
short
|
boolean
|
export
|
interface
|
static
|
byte
|
extends
|
long
|
super
|
char
|
final
|
native
|
synchronized
|
class
|
float
|
package
|
throws
|
const
|
goto
|
private
|
transient
|
debugger
|
implements
|
protected
|
volatile
|
double
|
import
|
public
|
|
alert()方法
alert()方法用来停止浏览器加载代码,并弹出()里面的内容。
浏览器解析代码的顺序(从上到下,从左到右)
3.变量不同类型之间的转换
转换成字符型: toString() var num = 123; num.toString();转换成字符串 将num从数值型变成字符型 toFixed() var num = 123.456; num.toFixed(n);转换成字符串的同时保留n位小数 拓展:浮点数: 电脑在运算过程中以正确的二进制浮点进行运算,但是我们输入的都是十进制的数,这两者并不是总是能转化的那么准确,有时候会得到正确的结果,但有时候就没那么幸运。 alert(0.7+0.1);??? alert(0.6+0.2);??? 转换成数值: parseInt();转换成整数,可以接受两个值 parseFloat();转换成浮点数 两者的不同: parseInt();该方法从左向右,检测数字或字符串,当第一次发现一个不为数字的字符时,把之前的所有进行返回,如果字符串中第一个就不是数字,那么返回NaN 例如:parseInt("123abc");a做为第一个不是数字的字符;返回a之前的所有值,则该方法返回123 parseInt("abc123");a做为第一个不是数字的字符,且处在字符串的第一位,则判定该字符串无法转换为数字返回NaN parseFloat();该方法检索数字或字符串后面第一个.后的不为数字的字符,并对之前所有的结果进行返回,如果第一个字符不为数字,那么返回NaN 例如:parseFloat(“123.456");返回123.456 parseFloat(“123.4a56");返回123.4 parseFloat(“123.00");返回123 parseFloat(“123.0a56");返回123 想想为什么? 关于浮点数:Math.round()就近取整浮点数。