基本数据类型
- Number 数字类型
- String 字符串
- Boolean 布尔
- null 空对象 ,空的,没有
- undefined 未定义,未初始化
数据类型的区分方式
typeof(数据)方法
Number数字类型
// Number 数字 (数值的存储,进行运算)
// 数字:整数 小数 0 进制 Infinity NaN
// 整数 小数 0
var num1 = 10;
console.log(num1);
console.log("哈哈哈");
console.log(typeof(num1)); //number
num1 = -10;
console.log(typeof(num1)); //number
var num2 = 10.23;
console.log(typeof(num2)); //number
num2 = -10.23;
console.log(typeof(num2)); //number
console.log(typeof(0)); //number
// 8进制 以0开头 没有超过8的
var num3 = 057;
console.log(num3); //自动转为10进制
console.log(typeof(num3));
// 16进制数字
// 0-9 a b c d e f
// 以0x开头
var num4 = 0x4f;
console.log(typeof(num4));
// Infinity
console.log(10/0); //Infinity 无穷大
console.log(typeof(Infinity));
// NaN (Not a Number->不是一个数字)
console.log(100 / "哈哈"); // NaN
// 特殊的 小数计算精度问题
// 精度缺失
// 在计算过程中,首先会转为二进制进行运算,小数再去转为二进制的时候出现了无限循环,转不尽,内置帮我们进行了四舍五入,是不精确的;
console.log(0.1 + 0.2);
console.log(0.1 + 0.2 == 0.3); //== :等于 false (假的,不成立)
console.log(0.1 * 10 + 0.2 * 10 == 0.3 * 10); //true(正确的,成立)
String -字符串
- 用单引或双引包起来的就是字符串
- 字符串的属性 length; 长度
- 字符的获取 字符串.charAt(下标);字符串[下标]
var str1 = "小明";
var str2 = "小花";
console.log(str1, str2);
console.log(typeof (str1));
var str3 = "sjkdlaksjdklasdjklasdjlkas3947239047239kasjdhkladhklashdl的哈是考虑到哈是考虑到";
// 获取字符串的长度
console.log(str2.length);
console.log(str3.length);
// 输出详细信息
// console.dir(内容);
console.log(str3);
console.dir(str3);
// 获取对应的某个字符
/*
字符的获取
字符串.charAt(下标);
字符串[下标]
*/
// 编程语言中科学计数都是从0开始的
// 下标(索引):从0开始依次递增,0对应第一项,1对应第二项依次类推
var str4 = "我是用来测试的~~!";
console.log(str4.length);
console.log(str4.charAt(0));
console.log(str4.charAt(1));
console.log(str4.charAt(2));
// 获取最后一项的字符
console.log(str4.charAt(str4.length-1));
// 在IE7及以下不兼容
console.log(str4[0]);
console.log(str4[1]);
console.log(str4[2]);
console.log(str4[str4.length-1]);
Boolean:布尔
- 真 true
- 假 false
null
空对象,访问空对象返回null
undefiend
undefined 未进行初始化,未赋值