简单了解一下js中原始类型和引用类型的部分知识点

原始类型:保存在本地的数据类型,主要有boolean,number,string,undefined,null

number类型:存储整数和浮点数的类型
整数:程序员

var num=100;
console.log(num);//输出结果:100,100为整数
**

浮点数:函数

var num1=10.1;
console.log(num1);//输出结果:10.1
var num2=.1;
console.log(num2);//输出结果:0.1,虽然赋值是.1,可是js引擎会自动在前面补上0,变成0.1
var num3=10.;
console.log(num3);//输出结果:10,js会自动去掉10.后面的那个.变成10
/*浮点数在计算时可能会出现偏差*/
var x=0.3;
var y=0.2;
console.log(x-y);//输出结果:0.09999999999999998

NaN:一个不是数字的数字,它跟任何数做比较都不相等,跟本身做比较也不相等code

console.log(NaN==NaN);//输出结果:false,不等于
console.log(NaN==20);//输出结果:false,一样不等于

无穷大:表示一个数字除不尽,无穷大不等于另外一个无穷大,无穷大减去另外一个无穷大不等于零内存

var num=80/0;
console.log(num);//输出结果:Infinity,Infinity就是无穷大的意思,由于0不能做为被除数

string类型:在js中,用单引号或者双引号包裹的内容都成为字符串字符串

语法结构:string

var str="hello";
console.log(str);//输出结果:hello
var str1='good';
console.log(str1);//输出结果:good

转义字符:it

console.log('xxx\nyyy');//这里的\n表明换行符

boolean类型:只有两个值:true或者falseconsole

console.log(8==9);//输出结果:fasle
console.log(9==9);//输出结果:true

undefined:js中指的是未定的的值,表示为空,若是一个变量的值为undefined,那么是存在在内存中的,只是没有值,获得undefined的状况是只声明不初始化值或者定义变量时,初始化值为undefined变量

var num;
console.log(num);//输出结果:undefined,由于没有给变量名赋值,因此获得undefined
var num1=undefined;
console.log(num1);//输出结果:undefined,直接给变量名赋值undefined,也能够获得undefined

null:用于给指定的变量进行内存释放,一般这个是经过程序员本身设置的,一般用来释放一个变量的占据内存空间构造函数

var conten=null;//语法结构

引用类型:数据不保存在本地

Number类型:经过Number类型建立一个数字的值的变量

var num=new Number(100);//建立一个构造函数
console.log(num);//输出结果:[Number: 100];

String类型:经过String类型建立一个字符串的值得变量

var str=new String("hello");//建立一个构造函数
console.log(str);//输出结果:[String: "hello"]

typeof运算符:主要是用来判断原始类型的类型名称

var num=100;
var bol=true;
var str='hello';
console.log(typeof num);//输出结果:number
console.log(typeof bol);//输出结果:boolean
console.log(typeof str);//输出结果:string

instanceof运算符:主要是用来判断引用类型的类型名称

var str=new String("hello");
var num=new Nember(100);
var bol=new Boolean(true);
console.log(str instanceof String);//输出结果:true
console.log(num instanceof String);//输出结果:false
console.log(bol instanceof Boolean);//输出结果:true

typeof运算符和instanceof运算符的比较区别:

typeof运算符

  1. 判断原始类型
  2. 语法结构不一样与instanceof运算符的语法结构不一样
  3. 获得结果不一样与instanceof运算符的结果不一样

instanceof运算符

  1. 判断引用类型
  2. 语法结构不一样与typeof运算符的语法结构不一样
  3. 获得结果不一样与typeof运算符的结果不一样
相关文章
相关标签/搜索