-
六大数据类型:五大基本数据类型和一个特殊类型
-
number string boolean undefined null 复合类型()
-
五大基本数据
-
number : 数值类型 12
-
string:字符串类型 "12" 'ab'
-
boolean:布尔类型 true false
-
undefined:未定义
-
null:空对象
-
-
特殊类型(复合类型、对象类型、引用类型)
-
object : 对象 {name:"小侯",age:18}
-
array:数组 [1,2,3,4,5,6]
-
function:函数
-
2.2 typeof
-
typeof 作用:用于检测数据类型
-
语法:
typeof(要检测的数据) typeof 要检测的数据
-
使用
// 语法1:typeof(要检测的数据) var n1 = 10; var t = typeof(n1); //检测数据类型,返回结果 console.log(t); //"number" console.log(typeof(20)); // "number" //语法2:typeof 要检测的数据 var s = "abc"; console.log(typeof s); //"string"
2.3 number数值
-
number类型:整数、小数、负数、八进制、十六进制,NaN,Infinity
//number:数值类型 整数,小数 var n1 = 10; console.log(n1,typeof n1); //10 "number" var n2 = 3.1415926535; console.log(n2,typeof n2); //3.1415926535 "number" //八进制:以0开头,并且没有超过8的值,表示八进制 var n3 = 052; console.log(n3,typeof n3); //42 "number" //十六进制:以0x开头,表示十六进制 0-9 a-f var n4 = 0x12; console.log(n4,typeof n4); //18 "number" //NaN : not a number 运算得不到正确答案的时候,就会是NaN var n5 = 10 * "嘿"; console.log(n5,typeof n5);//NaN "number" var n6 = 10 / 0; console.log(n6,typeof n6); //Infinity "number" //小数运算的时候会有偏差(精度缺失),不要用小数运算做判断 console.log(0.1 + 0.2 == 0.3); //false
-
==NaN==
NaN:not a Number 什么情况出现NaN:运算不能得到正确结果的时候
2.4 string字符串
-
字符串:引号引起来都是字符串 ”“ ‘’ ==所有从页面获取的内容都是字符串==
//string:字符串类型 引号引起来的就是字符串 var s1 = "web1025"; var s2 = 'web'; //检测类型 console.log(1,typeof s1); //"string" console.log(typeof(s2)); //"string"
-
str.length : 获取字符串长度
var tel = "03112345678"; //str.length : 返回当前字符串的长度 var l = tel.length; console.log(l); //11
-
str.charAt(下标) : 获取对应下标位置的字符
var tel = "03112345678"; //str.charAt(下标) : 获取对应下标位置的字符 var s = tel.charAt(0); console.log(s); // "0" console.log(tel[0]); //"0" IE7不兼容
-
字符串遇到+
//+号遇到字符串就会变成拼接符 console.log(1 + 1); //2 console.log("1" + 1); //"11" console.log(10+2+"age"); //"12age"
2.5 boolean类型
-
boolean:布尔类型(true、false)
//boolean:布尔类型 true,false var bo1 = true; var bo2 = false; console.log(typeof bo1,typeof bo2); //"boolean" "boolean" //作用:判断条件 判断结果 console.log(10 > 20); //false 判断结果 if(false){ //判断条件 console.log("考试"); }
2.6 null与undefined
2.6.1 undefined
//1.undefined:未定义 var a; console.log(a); //undefined 未定义,空变量,声明变量,但是没有赋值 console.log(typeof a); //"undefined"
2.6.2 null
//2.null:空对象 var n = null; console.log(n); //null console.log(typeof n); //"object"
-
==面试题:null与undefined的区别==
面试题: null和undefined的区别? undefined:未定义,空变量,声明变量,但是没有赋值,没有存储空间 null:空对象,有存储空间(值为空)