目录
1、ES6(ECMAScript)之前有6种数据类型,但从ES6开始有8种,增加了Symbol、BigInt。
1、ES6(ECMAScript)之前有6种数据类型,但从ES6开始有8种,增加了Symbol、BigInt。
ES6之前的6种类型:Undefined、Number、String、Null、Boolean、Object
原始类型(基本数据类型):Undefined、Number、String、Null、Boolean、Symbol、BigInt
对象类型(引用数据类型):Object
1、Undefined类型
undefined是一个值,当声明变量没有赋值时系统默认赋它。
var i= undefined; //Udefined类型
var j = "undefined" //字符串类型
2、Null类型
只有null一个值,但要注意的是 typeof null 最后的结果是object类型
3、Number类型
该类型的取值为:整数、浮点数、NaN、Infinity
NaN:Not a Number 当结果应该是Number类型但却不是时,返回NaN。
Infinity:无穷大 当除以零时返回Infinity。
Number中的常用函数
1、isNaN(参数)
Number中的一个函数:isNaN 返回结果是一个Boolean类型
如果参数是一个数字,则返回false。不是数字返回true。
notes:isNaN会先将参数尝试转换成数字,如果能转换则返回false,不能转换返回true。
2、Number(参数)
将不是数字类型的转换成数字类型
Number("中国") //NaN
Number("123") //123
3、parseInt(参数)
将其他类型转换成整数(截取)
parseInt("123.999") //123
parseInt("123.112呵呵") //123
parseInt("1111hehe") //1111
parseInt("呵呵123.121") //NaN
4、Math.ceil(参数) Math是JS内置工具类
向上取整
Math.ceil(123.123) //124
5、console.log(10\3); //3.33333333333333 和Java不一样
4、Boolean类型
true或false
Boolean()函数 :将非Boolean类型转换成布尔类型
代表“有”是true ,"没有"是false
Boolean()函数在JS中会隐式调用
5、String类型
1、创建String的方式
var s = "天下第一";
console.log(s); //string
var s2 = '天下第一';
console.log(s2); //string
var s3 = new String("天下第一");
console.log(s3); //object
2、String中常用的属性和方法
使用
6、Object类型
1、Object对象可以看做是所有对象的父对象。
2、在JS中默认定义的类型,没有特殊说明都继承Object
3、Object类型中的属性和方法
属性:prototype 、constructor
prototype属性:用来动态的给Object类型扩展新的属性和函数。所有的对象都能用。
给String类型的对象扩展一个方法
4、JS中类的定义
第一种方式:
function 类名(形式参数列表){
this.属性名 = 参数;
this.属性名 = 参数;
this.方法名 = function(形式参数列表){
方法体;
}
}
第二种方式:
类名 = function(形式参数列表){
this.属性名 = 参数;
this.属性名 = 参数;
this.方法名 = function(形式参数列表){
方法体;
}
}
notes:function既可以定义函数也可以定义类,关键在于怎么使用,当是new的时候是创建对象,直接调用则是函数。
例如:function hello( ){ }
hello h = new hello(); // 创建对象,会在浏览器的堆内存中创建一个对象,h是个引用指向它。
hello( ); //调用函数
定义类
访问对象中属性的方式
-
引用名.属性名
-
引用名["属性名"]
2、typeof运算符
作用:在JS代码运行过程中动态的获取变量的数据类型。
语法格式:typeof 变量名
返回值为以下字符串之一:“undefined”、“number”、“stirng”、"boolean"、“object”、“function”全部小写
在JS中用“==”判断字符串是否相等
console.log( ) //打印信息到控制台