Javascript数据类型,类型转换
1,JavaScript的数据类型:
<script type="text/javascript">
var a = 10; // number
var b = 3.14; // number
var c = "strings ..."; // string
var d = false; // boolean
var e = null; // Object
var f = undefined; // undefined
var g; // undefined
var i = new Object(); // Object
alert(typeof a);
alert(typeof b);
alert(typeof c);
alert(typeof d);
alert(typeof e); //typedof null 返回object类型(原本是一个bug)
alert(typeof f);
alert(typeof g);
alert(typeof i);
</script>
2,js中的变量分类
2.1原始类型(基本数据类型)
number 不分整型和浮点型
string 在js中string是基本数据类型
boolean
null 一般是人为来赋值为null;对象类型的占位符;a = null;表示a为引用数据类型
undefined null的衍生值,通常是系统自动赋值,当我们创建一个变量,并且没有初始化。
2.2引用数据类型
对象
3,类型转换
转换为boolean
1. number:除了+0,-0,NaN为false,其他都为true
2. undefined:false
3. Object: true
4. null:false
5. string:if 字符串不为空,true
转换为string
1. 任何类型+string = string;
2. true: “true”;
3. false: “false”
3. underfined:”undefined”
4. null:”null”
5. function:该方法的定义语句
6. Object:[object 对象所属的类的类名],比如var clock = new Object(); alert(clock + "");
会打印出[object Object]
alert(window);
会打印出[object Window]
这是由Object的toString
方法决定的。
转换为num
js是弱类型语言,js中的变量类型会根据需要进行自动变化
因为一元加法是数学运算符,所以需要c是数字类型,js就将c转化为num类型
如何主动转换?
使用一元加一元减:”abc” - 1; true + 2;
注意: 任何类型+string=string;
- true:1
- false:0
- string:如果这个字符串的内容是由数字构成,则会直接转换为数字,否则会出现NaN
- object、undefined、:NaN
- null:0 // alert(-null);