简单了解一下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:一个不是数字的数字,它跟任何数作比较都不相等,跟自己作比较也不相等

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

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

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

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

语法结构:

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

转义字符:

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

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

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运算符的结果不同
    原文作者:庄国琳
    原文地址: https://segmentfault.com/a/1190000015907776
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞