我爱编程

js中变量的使用和类型以及类型的隐式转换

2018-03-28  本文已影响17人  丶灰太狼他叔

一、变量的使用

js是一种弱类型语言指的是它定义变量的时候不需要指定类型,类型是在赋值的时候确定的。
1、不定义也不赋值直接使用变量,如:

console.log(a)

这种情况程序会报错a is not defined,并会中断。
2、定义了并没有赋值,如:

var b ;
console.log(b)

打印结果为:b is undefined,但是程序不会中断。

二、变量的类型

总的来说分为:原始数据类型引用数据类型
原始数据类型有5种:undefinednullbooleannumberstring
关于原始数据类型的几点总结:

1、 null可以理解为从undefined派生出来的。所以console.log(null == undefined)输出为true
2、某些编程语言中以0开头的表示八进制(如:056为八进制,068则为十进制因为含有8),0X代表十六进制
3、number类型的特殊值有:infinity--无穷大;NaN即非数字:为一个特殊的值,不等于任何值包括它自己。所以判断一个数是不是NaN时,只能通过isNaN来判断,而不能通过两个等号来判断。

        console.log(typeof NaN);//number
        console.log(NaN == NaN);//false
        console.log(0/0);//NaN
        console.log(typeof 0/0);//NaN       
        console.log(isNaN(0/0));//true
        console.log(0/0 == 0/0);//false

**值得注意的是:加加减减无论在前在后都是会改变原变量的值:

        var a = 1;
        var b = ++a;
        console.log(a,'---------',b);//输出结果都为2

常用的引用数据类型有3种:对象数组函数

三、常用的数据类型的隐式转换

1、布尔类型转换
undefined--->false
null--->false
数值0,NaN--->false,其他数值--->true
空字符串--->false,非空字符串--->true
其他对象--->ture
2、转换为数值类型
undefined--->NaN
null--->0
字符串数字--->数值
布尔类型:true-->1 false --->0
3、转字符串类型
undefined ---> "undefined"
null---> "null"
布尔类型:true---> "true",false---> "false"
123---> "123",NaN--->"NaN"

上一篇 下一篇

猜你喜欢

热点阅读