扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在ES5的时候,我们认知的数据类型确实是 6种:Number、String、Boolean、undefined、object、Null。
成都创新互联-专业网站定制、快速模板网站建设、高性价比土默特右旗网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式土默特右旗网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖土默特右旗地区。费用合理售后完善,十余年实体公司更值得信赖。
ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。
谷歌67版本中还出现了一种 bigInt。是指安全存储、操作大整数。(但是很多人不把这个做为一个类型)。
JS数据类型:JS 的数据类型有几种?
8种。Number、String、Boolean、Null、undefined、object、symbol、bigInt。
JS数据类型:Object 中包含了哪几种类型?
其中包含了Data、function、Array等。这三种是常规用的。
JS数据类型:JS的基本类型和引用类型有哪些呢?
基本类型(单类型):除Object。 String、Number、boolean、null、undefined。
引用类型:object。里面包含的 function、Array、Date。
javascript有以下五种基本数据类型
对象Object是基于上面几种组成的复杂数据类型;至于数组类型,在js中数组类型是对象类型的子类。
包含Undefined值的变量和未定义的变量是不一样的。
1、number类型
① number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后至少有一位数字)。
浮点数会自动转换为整数,如下:
let num = 1.00
console.log(num) // 输出:1,自动转换为了整数
② 浮点数的最高精度是17位,看下面的例子:
let a = 0.1
let b = 0.2
console.log(a + b) // 输出:0.30000000000000004
上面的例子,结果竟然不是0.3,至于其他变成语言,也会遇到这种情况(关于浮点数计算会产生误差问题,其他有些变成语言也会出现类似情况。)
③ NaN:非数字类型,特点:涉及到任何关于NaN的操作,都会返回NaN,而且NaN不等于自身。如下:
let name = 'lisi'
console.log(name / 10) // 输出:NaN
console.log(NaN === NaN) // 输出:false
④ isNaN()函数用于判断是否是一个非数字类型,如果传入的参数是一个非数字类型,那么返回true,否则返回false;
⑤ isNaN()函数传入一个参数,函数会先将参数转换为数值,如果参数类型为对象类型,会先调用对象的valueOf()方法,再确定该方法返回的值是否可以转换为数值类型,如果不能,再调用对象的toString()方法,再确定返回值;
⑦ 数值转化:
Number(),转型函数,可以用于任何数据类型
parseInt(),将值转换为整型,用的较多
parseFloat(),将值转换为浮点型
2、string类型
① 字符串类型中的单双引号作用一样;
② 字符串有length属性,可以取得字符串的长度:
let str = 'Hello world'
console.log(str.length) // 输出:11
③ 字符串的值是不可变的,要改变一个字符串的值,首先要销毁原来的字符串,再用另一个包含新值得字符串区填充该字符串;
④ 字符串转换:
String(),转型函数,适用于任何数据类型(null,undefined转换后为null和undefined)
toString()方法可以把一个逻辑值转换为字符串,并返回结果(null、undefined没有toString()方法)
let ab = 'zhangsan'
let bc = null
let cd = undefined
console.log(ab.toString()) // 输出:zhangsan
// console.log(bc.toString()) // error 报错
// console.log(cd.toString()) // error 报错
console.log(String(ab)) // 输出:zhangsan
console.log(String(bc)) // 输出:null
console.log(String(cd)) // 输出:undefined
3、boolean类型
① 这个类型只有两个值,true和false;
② Boolean(),转型函数,将某个值转换为Boolean类型
4、null类型
① null类型被看做空对象指针,只有一个值,即null值,所以在用typeof操作符去检测null类型的值得时候,结果是object类型;
② 如果你定义了一个变量,但是想在以后把这个对象当做一个对象来使用,最好将该对象初始化为null值
5、undefined类型
① 只有一个值,即undefined,如果声明了一个变量,但是未给变量初始化值,那么这个变量的值就是undefined:
let name = 'zhangsan'
let age
console.log(name) // 输出:zhangsan
console.log(age) // undefined,因为声明了age,但是没有给初始化值
② 调用函数时,应该提供的参数没有提供,该参数等于undefined;
③ 对象没有赋值的属性,该属性的值为undefined;
④ 函数没有返回值,默认返回undefined。
以上就是javascript的基本数据类型有哪些?的详细内容,更多请关注html中文网其它相关文章!
JavaScript 中有以下5种基本数据类型:
字符串型
数值型
布尔型
null型
undefined型
在以上5种类型之外的都被称为 Object 类型,总的来看,JavaScript中的数据类型可以分为6种。
5种基本数据类型:Undefined(未定义)、Null(空)、Boolean(布尔)、String(字符串)和Number(数值)。
还有一种复杂的数据类型Object,Object本质上是由一组无序的名值对({name:value})组成的。
JS中用var关键字来定义变量,以为js是弱类型语言,所以无法确定一定会存储什么值,也就不知道变量到底会是什么类型的,而且变量的类型可以随时改变。
这就是JS是松散类型的来由,所谓松散类型就是可以用来保存任何类型的数据。
ps(备注):es6中新增加了let声明变量,const来声明一个只读的常量。let的用法类似于var,但是所声明的变量只在let命令所在的代码块内有效;const一旦声明,常量的值就不能改变。详情请参考:
我们先来认识下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
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流