资讯专栏INFORMATION COLUMN

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

hot_pot_Leo / 617人阅读

摘要:原始类型保存在本地的数据类型,主要有,,,,类型存储整数和浮点数的类型整数输出结果,为整数浮点数输出结果输出结果虽然赋值是但是引擎会自动在前面补上,变成输出结果会自动去掉后面的那个变成浮点数在计算时可能会出现误差输出结果一个不是数字的数字

原始类型:保存在本地的数据类型,主要有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
yyy");//这里的
代表换行符

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运算符

判断原始类型

语法结构不同与instanceof运算符的语法结构不同

得到结果不同与instanceof运算符的结果不同

instanceof运算符

判断引用类型

语法结构不同与typeof运算符的语法结构不同

得到结果不同与typeof运算符的结果不同

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96644.html

相关文章

  • JS对内存一些了解

    摘要:中对内存的一些了解在进行开发的过程中了解内存机制有助于开发人员能够清晰的认识到自己写的代码在执行的过程中发生过什么也能够提高项目的代码质量内存是怎么样的中变量存放有着原始值与引用值之分原始值原始的数据类型以及新加入的引用值等类型的值便是引用 JS中对内存的一些了解 在JS进行开发的过程中, 了解JS内存机制有助于开发人员能够清晰的认识到自己写的代码在执行的过程中发生过什么, 也能够提高...

    elliott_hu 评论0 收藏0
  • JS进阶】你真掌握变量类型了吗

    摘要:本文从底层原理到实际应用详细介绍了中的变量和类型相关知识。内存空间又被分为两种,栈内存与堆内存。一个值能作为对象属性的标识符这是该数据类型仅有的目的。 导读 变量和类型是学习JavaScript最先接触到的东西,但是往往看起来最简单的东西往往还隐藏着很多你不了解、或者容易犯错的知识,比如下面几个问题: JavaScript中的变量在内存中的具体存储形式是什么? 0.1+0.2为什...

    fuyi501 评论0 收藏0
  • 深入js隐式类型转换

    摘要:结合实际中的情况来看,有意或无意中涉及到隐式类型转换的情况还是很多的。此外当进行某些操作时,变量可以进行类型转换,我们主动进行的就是显式类型转换,另一种就是隐式类型转换了。 前言 相信刚开始了解js的时候,都会遇到 2 ==2,但 1+2 == 1+2为false的情况。这时候应该会是一脸懵逼的状态,不得不感慨js弱类型的灵活让人发指,隐式类型转换就是这么猝不及防。结合实际中的情况来看...

    tomato 评论0 收藏0
  • 从0开始构建自己前端知识体系-不要对"=="说不

    摘要:为了避免某些场景下的意外,甚至推崇直接使用来代替。使用了运算符的一些规则,发生了类型转换。按照以下规则转换被传递参数直接返回直接返回直接返回直接返回直接返回返回一个对象的默认值。 前言 类型转换在各个语言中都存在,而在 JavaScript 中由于缺乏对其的了解而不慎在使用中经常造成bug被人诟病。为了避免某些场景下的意外,甚至推崇直接使用 Strict Equality( === )...

    tianyu 评论0 收藏0
  • 【基础系列】javascript数据类型原始类型

    摘要:返回布尔值,表示参数字符串是否在原字符串的头部。布尔值中布尔值有两个和和都表示值的空缺,但事从背后更深远的角度考虑,他们的还是有差别的。首先我们来看一下类型转化表任意的值都可以转换为布尔值,只有会被转换为,其他所有值都会被转换成。 开辟了一个关于javascript的基础系列,更加深入、细致的了解这门语言。今天分享的是js的数据类型。 javascript的数据类型可以分为两类:原始类...

    aikin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<