1.数据类型
数据类型:我感觉就是对数据的种类进行分类。就好比把人分为儿童,青少年,中年,老年一样。
-
基础数据类型:
Number(数字),String(字符串),Null(空),Undefined(未定义),Boolean(布尔值)。
-
复合(复杂)数据类型
Object(对象)
2.字符串
- 字符串:
由成对的单引号或者双引号包起来的0个或多个字符组成的串 字符串拼接:
只要 + 的 一边是字符串 ,那么就会做字符串拼接。
<script>
// "abcdef"
// "" 这是空字符串
// " " 这是含有一个空格的字符串
var str = "abc";
console.log( str.length );//结果为:3
console.log( str[1] );//结果为:b
var str2 = "123456";
console.log( str2 + 1 );//结果为:1234561
console.log( "hello"+"world" );//结果为:helloworld
console.log( "hello"-"o" );//结果为:NaN
</script>
3.Number
- Number: -Infinity~Infinity之间,分为小数(浮点数)和整数。
<script>
// 123456
// 0
// -1000
// 1.23456
console.log( Infinity+1 ); //Infinity
console.log( 1/2 );//0.5
console.log( 1/0 );//Infinity
console.log( 2.0 );//2
console.log( 0.1+0.2 );//0.30000000000000004,不易用js来进行算数计算,因为js计算存在问题。
</script>
4.Boolean
布尔值:
值为:true、false。
一般用布尔值判断真假,进行流程控制等
5.Undefined
未定义:
声明一个变量,并未给其赋值,那么这个变量内存储的就是undefined;
一般来说不希望看到undefined。
<body>
<div> div </div>
<script>
var a = undefined;
console.log( a );
//------------------------------------------
var b;
console.log( b );
console.log(document.z );
//------------------------------------------
var divs = document.getElementsByTagName("div");
divs[1].className = "red";
console.log( divs[1] );//这是报错中含有undefined.不存在divs[1],故会报错。
</script>
</body>
6.Null
Null :
值只有一个 null,是一个对象。
<body>
<script>
console.log( document.querySelector("div") );//null
var a = null;
console.log( a );//null
console.dir( null );//null
// a.index = 1; // 报错,不能给null添加属性。
</script>
</body>
7.复合类型 Object
复合类型:由 简单 和 复合的 数据类型组成的。
1.对象:
由一对{}包起来的,
0对或者多对 键名和键值 组成的对,
每对键值对 之间用","隔开,最后一个不要加","
2.对象值的获取:
方法一:对象.键名(属性名)
方法二:对象["键名"]
3.对象值的设置:
方法一:对象.键名(属性名) = 值
方法二:对象["键名"] = 值
4.举例说明
<body>
<script>
console.dir( {} );
var kimoo = {
age:18,
isMarried:true,
name:"kimoo",
wife:true,
children:[
{
name:"joe",
age:18
},
{
name:"tom",
age:20
}
]
};
console.log( kimoo.name );//kimoo
console.log( kimoo.age );//18
console.log( kimoo["age"] );//18
//------------------------------------------
kimoo.age = 28;
console.log( kimoo.age );//28
kimoo["age"] = 38;
console.log( kimoo.age );//28
//------------------------------------------
console.log( kimoo.children[0].name )
</script>
</body>
8.typeof
typeof:检测数据类型
注意:
- 返回值是一个"字符串" 类型。 eg: "number"、"function"
- typeof 出的结果首字母都是小写的。
<script>
console.log( typeof 123 );//"number"
console.log( typeof "abc" );//"string"
console.log( typeof true );//"boolean"
console.log( typeof null );//"object"
console.log( typeof undefined );//"undefined"
console.log( typeof {} );//"object"
console.log( typeof function fn(){} ); //"function"
console.log( typeof [] );// "object"
console.log( typeof typeof [1,2,3] ); //"string"
|首先到这一步
// console.log( typeof "object" );
// |再到下一步
// console.log( "string" );
console.log( typeof("abc","1234",true)); //打印括号中最后一个数据的数据类型为boolean.
console.log( typeof ("abc" + "d") );//"string"
console.log( typeof "abc" + "d" );//"stringd"
console.log( "d" + typeof "abc" );//"dstring"
</script>