在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型)和一种复杂数据类型,它们分别是:Undefined,Null,Boolean,Number和String。复杂数据类型—Object。
创新互联专注于大足网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供大足营销型网站建设,大足网站制作、大足网页设计、大足网站官网定制、成都微信小程序服务,打造大足网络公司原创品牌,更为您提供大足网站排名全网营销落地服务。
1、typeof
typeof这个关键字是一定要说的,因为javascript是松散类型的,在变量申明时并没有使用与之类型相对应的关键字,如果在代码中想要获知某个变量的基本数据量,就可以使用typeof。这里要注意的是typeof返回的是字符串类型。
(1)、"undefined"——未申明,或者变量的值即为undefined或者未初始化;
(2)、"boolean" ——如果这变量的值是布尔类型;
(3)、"string" ——值是字符串类型;
(4)、"number" ——值是数字类型;
(5)、"object" ——对象或者值为null;
(6)、"function" ——函数。
在js中函数也是对象,但是函数又要一些区别与其他对象的特定,所以ECMAScript在使用typeof的时候将其区分开来。
2、Undefined
这是一个很有意思的数据类型,因为它的值只有一个,那就是undefined。在申明变量时如果没有将变量赋值的话这个变量也是属于Undefined类型的。
如果一个变量没有申明就直接去访问解释器会报错误信息,但是这样的变量如果使用typeof返回的结果也是"undefined"。
3、Null
Null也是一个只有一个值得数据类型,它的值就是null,任何变量只要给其赋值为null的话这个变量的数据类型就是Null类型。null值表示控对象指针,所以申明的变量要是想用来保存对象并且在申明之初还不能确定具体保存哪个对象的时候就将其赋值为null,在使用的时候只要检查该变量是否为null就可以知道该变量是否保存了对象。
其实null和undefined还是有点微妙的关系的,在javascript中undefined值派生自null,因此ECMA-26规定了它们的相等性测试为true。
在实际的编程中我们没有必要将一个变量赋值为undefined,但是却有很多情况下要将变量赋值为null,将变量赋值为null可以便于我们将它与undefined区分也便于垃圾回收处理。
4、Boolean
在javascript中Boolean类型用还是比较多的一种简单数据类型,它有两个值,分别是true和false,因为在javascript中字母是区分大小写的,所以True和False不是Boolean的值。
调用Boolean()方法可以将任何类型的值转化成与之相对应的Boolean类型的值,也就是可以将其转化成true或者false。
5、Number
javascript为了支持各种数值类型,定义了不同数值字面量格式。
最基本的是字面量是十进制,此外还有八进制和十六进制数的字面量。八进制在js中表示是第一位一定要是0,后面就是八进制字数序列(0~7),如果字面量值超出了范围,前面的0会被忽略,后面的值会被当成十进制解析。十六进制字面量前两位必须是0x,后面跟十六进制数字(0~9及A~F)。字母A~F不区分大小写。
在进行数值计算时,不论是八进制还是十六进制最终都会被转化成十进制数值。
6、Object
Object类是所有JavaScript类的基类(父类),提供了一种创建自定义对象的简单方式,不再需要程序员定义构造函数。Object类主要属性:1.constructor:对象的构造函数。2.prototype:获得类的prototype对象,static性质。
javascript有六种基本数据类型,分别是:
未定义 undefined
空对象 null
布尔值 boolean
数字 number
字符串 string
对象 object
顺便一提,NaN是数字number类型
基本数据类型:\x0d\x0a字符串 String\x0d\x0a数字 Number\x0d\x0a布尔Boolean\x0d\x0a\x0d\x0a复合数据类型:\x0d\x0a数组 Array\x0d\x0a对象 Object\x0d\x0a\x0d\x0a特殊数据类型:\x0d\x0aNull 空对象\x0d\x0aUndefined 未定义
我们先来认识下JavaScript中的数据类型。JavaScript是弱类型语言,开始的时候并不知道变量时什么类型,必须通过存储的具体的值才能判断变量的类型。
JavaScript的数据类型分为基本数据类型和复杂数据类型。其中,基本数据类型: Number(数字),String(字符串),Boolean(布尔),Undefined(未定义),Null(空);复杂(引用)数据类型: Object(对象), Array(数组), Function(函数)。我们可以使用typeof操作符检查变量的类型,语法为typeof(变量)/typeof 变量,typeof返回值: number, string, boolean, undefined, object, function。今天我们来认识下JavaScript中的基本数据类型。
首先,我们来认识下Number类型。number类型就是数字类型,主要用于存储数据,参与数学运算。number类型包括 整数,小数,正数,负数,各种进制的数字和特殊数字。我们通过下面的代码来认识下number类型:
// 1.1 普通整数和小数
var num1 = 10;
var num2 = 2.5; console.log(typeof(num1), typeof num2);
// 1.2 负值
var num3 = -0.2;
console.log(num3, typeof num3);
// 1.3 八进制,以 0 开头并且没有超过 8 的值,则为 8 进制
var num4 = 070;
console.log(num4, typeof num4); // 56 number
// 1.4 十六进制,0x 开头,则为 16 进制
var num5 = 0x10;
console.log(num5, typeof num5); //15 number
除了上面的number类型,JavaScript中还有一些特殊的数字类型:
1、NaN: not a number,算术运算不能得到正常数字时会返回NaN,NaN不和NaN相等。
2、Infinity: 无穷大。
3、e: 10的次幂 1e9代表1乘以10的9次幂
4、小数相加会有误差
//1.1 NaN not a number 算术运算不能得到正常数字都会返回 NaN var num5 = ‘a’ - 5;
console.log(num5, typeof num5); // NaN number
// 1.2 无穷大
var num6 = 1 / 0;
console.log(num6, typeof num6); // Infinity number
// 1.3 小数相加 会有一点偏差
console.log(0.1+0.2); // 0.30000000000000004
接下来,我们来认识下String类型,string类型就是字符串类型,是用引号引起来的内容,单引号和双引号都可以, 例如:“web”, ‘web’。字符串有一个常用属性length,用来表示字符串的长度,字符串中的任意字符都占字符串的一个长度,字符串也可以通过charAt(下标)方法来获取对应下标的字符,需要注意的是,字符串中下标是从0开始的,除了charAt()方法外,也可以使用字符串加中括号的形式获取对应下标的字符。
var str1 = ‘abc’;
var str2 = “123”;
console.log(typeof str1,typeof str2); //string string
console.log(str1.charAt(0)); // a
console.log(str1[0]]); // a
此外,所有我们从 input 表单中获取的用户输入的内容都是字符串,哪怕输入的是数字。例如下面的例子。
input type="text" id="oIn"
button id="oBut"输出内容/button
oBut.onclick = function () {
var value = oIn.value;
console.log(typeof value); // string
}
接下来,我们来认识下Boolean类型。Boolean: 布尔类型, 只有真和假,也就是true/false。
var bool1 = true;
var bool2 = false;
console.log(typeof bool1, typeof bool2); // boolean boolean
console.log(10 20); //false
if(10 20){ // if 的小括号里面,会自动转换成 boolean 类型
alert(true)
};
除了通过比较能得到 Boolean 的值以外,还有一个口诀来判断条件是否为真:非 0 为真,非空为真”。即 0 为假,其他数字为真,空字符串为假,其他为真。
最后,我们来认识下null和undefined。null表示值为空,undefined表示变量没有初始化(声明未赋值),值的空缺。null表示空对象,使用typeof操作符得到的“object”。undefined:undefined类型,当声明变量未赋值时,变量的值就是undefined,类型也是undefined。
var a = null;
console.log(a); // null
console.log(typeof a); // object
// var b = undefined;
var b;
console.log(b); // undefined
console.log(typeof b); // undefined