JavaScript数据类型

02-JavaScript-内部JS、外部JS、数据类型、关键词 内部JS示例");// 在页面加载完成后自动弹出提示框 阅读详情

一直以来总觉得js的数据类型挺简单的,没有系统的学习过。但直到昨天在控制台下打了个undefined == null ,电脑竟然返回了个true。于是自己在书上翻了翻这方面的知识点,发现坑还真是不少,有很多令人迷惑但却技术上正确的点,便总结一下。

JS一共6种数据类型。其中,基本数据类型5种——Undefined,Null,Boolean,Number,String。复杂数据类型一种——Object。(注意数据类型都要首字母大写)

Undefined

只有一个值,undefined。一个声明了但未初始化的变量就是undefined。但奇怪的点在于,一个你没有声明的变量,你给它typeof一下返回的也是undefined。如下:

var a;
//var b;
alert(typeof a);//undefined
alert(typeof b);//undefined

所以,一个好的编程习惯是,能初始化的变量一定要初始化!!

Null

只有一个值,null。表示一个空对象的指针,这点很重要。这也就是问什么会有下面这样的输出结果:

var a = null;
alert(typeof a);//object

所以,一个好习惯是:如果你的变量打算保存对象用,把它初始化为null。
那么,为什么

undefined == null //true

原因是,undefined值派生自null。但尽管如此,它们的用途完全不同!!将一个变量的值初始化为undefined是一种不好的习惯!!

Boolean

包含两个值,true和false。注意区分大小写,不是True和False。这里的坑是:ture不一定是1,false也不一定是0
能够被转换为false的变量有如下值:
- 空字符串
- 0
- NaN
- null
- undefined
具体请看,《JavaScript高级程序设计》第26页最下面的表格

Number

这里的坑点在于NaN,这个数值有俩特点:

  • 任何设计NaN的操作都会返回NaN
  • NaN和任何值都不等,包括NaN。NaN ==NaN//false

还有一个坑点,在于isNaN()函数。也就是什么样的变量会被当作NaN。看下面的例子:

isNaN(NaN)//true
isNaN(10)//false
isNaN("10")//false
isNaN("blue")//true
isNaN(true)//false,可以被转换为1

发现了吧,一个变量不管它是啥类型,只要它可以被转换为数值,它就不是NaN.
还有一个是parseInt()的使用,它的参数设置,尤其是第二个声明进制类型,不写了,具体请看,《JavaScript高级程序设计》P31

String

JS中,字符串用单引号还是双引号都可以。且一旦创建不可改变。(和java是一样的)
将一个值转换为字符串要调用toString()方法,JS中,null和undefined没有这个方法的,其他都有
具体请看,《JavaScript高级程序设计》P34

Object

其实这里可介绍的很多,就不详细讲了。JS的一个重要的思想:Object类型是所有它的实例的基础。Object类型所具有的任何属性和方法页同样存在于更具体的对象中。一张图让你搞懂JavaScript的继承与原型链,可以帮你理解js的继承思想。
Object的每个实例都有下列的属性和方法:
- constructor
- hasOwnProperty()
- isPrototypeOf()
- propertyIsEnumerable()
- toLocalString()
- toString()
- valueOf()

JS学习笔记五——JavaScript 数据类型 JavaScript 数据类型 一、数据类型介绍 二、基本数据类型 三、引用数据类型 四、数据类型转换 一、数据类型介绍 JS 中分为基本数据类型和引用数据类型,基本数据类型中又细分为数值类型、字符串类型、布尔类型和空类型。 JS 中要想检测变量的数据类型,需要使用 typeof 关键字,其语法为:typeof 要检测的变量;所得结果便是该变量存储的数据对应的数据类型。 注意:空类型中,undefined 的数据类型是 undefined,而 null 的数据类型是 object。 阅读详情

相关推荐

四足机械臂避坑指南:从URDF配置到逆运动学控制的完整流程

本文为四足机械臂(Loco-Manipulation)系统开发提供了一份详实的实战避坑指南。文章深入剖析了从URDF模型配置、核心控制循环设计到逆运动学(IK)求解与奖励函数构建的完整流程,重点讲解了如何避免关节命名错误、惯性参数设置不当、IK求解不稳定等常见陷阱,并强调了利用collision_bbox等可视化工具进行高效调试的方法,旨在帮助工程师构建稳定、高效的四足机械臂控制系统。

weixin_42509507的博客 192

【JavaScript】一篇文章,带你拿捏JS中的数据类型

JavaScript有8种数据类型:7种基本类型(String、Number、Boolean、null、undefined、Symbol、BigInt)和引用类型Object。基本类型存储在栈内存中,引用类型存储在堆内存中,栈中保存引用地址。字符串不可变,数组可变;数字采用IEEE754标准,存在精度问题;布尔值用于逻辑运算;null表示空值,undefined表示未赋值;Symbol创建唯一标识符;BigInt处理大整数。引用类型包括对象、数组、函数等。内存分为代码空间(存储代码)、栈空间(存储基本类型和

sunshine_dd的博客 1479

逆向小记 bd-ticket-guard-client-cert | bd-ticket-guard-client-data 通过现象看本质

依然没什么花哨的直接解析出来,既然这是个X509证书,那么要么是服务器下发,要么是自己生成喽,但是如果是本地直接生成,那服务器还校验个鬼哦!既然是服务器下发的,那服务器又是怎么校验这个证书是自己下发的呢,这就要讲到CA验证了,首先根据上图我们发现证书的Issuer"(颁发者)是。怎么来的呢,因为涉及到逆向咱就不讲了,其实也是涉及到非对称加密的,就是客户端用私钥去签名数据,服务器用上传过去的证书公钥验签的过程!当服务器收到这个证书的时候,会做几件事,首先用自己的公钥解开签名获得解密后的证书hash。

2503_90751789的博客 1205

【JavaScript】(二) JS数据类型

目录数据类型1、数据类型简介1.1 变量的数据类型1.2 数据类型的分类2、 简单数据类型2.1 基本数据类型2.2 数字型 Number2.2.1 数字型进制2.2.2 数字型范围2.2.3 数字型三个特殊值2.2.4 isNaN()2.3 字符串型 String2.3.1 字符串引号嵌套2.3.2 字符串转义符2.3.3 字符串长度2.3.4 字符串拼接2.3.5 字符串拼接加强2.4 布尔型 Boolean2.5 Undefined 和 Null3、 获取变量数据类型3.1 获取检测变量的数据.

weixin_48650082的博客 2079

微信小程序网关逆向分析:从协议、签名到会话管理的安全架构剖析

在现代Web与移动应用开发中,API网关作为客户端与后端服务之间的关键通信枢纽,承担着协议转换、流量调度、安全防护与性能优化等核心职责。其工作原理通常涉及统一的请求路由、身份认证、参数校验与响应聚合。从技术价值看,深入理解网关机制不仅能帮助开发者构建更健壮、可扩展的微服务架构,还能为安全评估、性能调优与故障排查提供基础。在移动生态如微信小程序中,网关设计尤为关键,它需要处理微信特有的登录态、数据加密与防重放攻击等安全需求。本文聚焦于微信小程序网关的逆向分析方法,通过结合网络抓包与代码反编译技术,深入解析其通

weixin_29323493的博客 442

音频——DAC 性能测试

codec DAC 性能测试方法

tyustli 2235

【JavaScript用法】JavaScript(JS)的基本语法(JS数据类型,JS变量,JS运算符,JS流程控制语句)

JavaScript(JS)的基本语法 目录 JavaScript(JS)的基本语法 一. 与html结合方式 二. 注释 三. 数据类型: 四. 变量 五. 运算符(和Java有点类似) 六. 流程控制语句(和JAVA类似): 七. JS特殊语法: 一. 与html结合方式 1. 内部JS:定义<script>,标签体内容就是js代码(...

No8g攻城狮的博客 5105

FFMPEG音视频开发: Linux下采集音频(alsa-lib库)、视频(V4L2框架)数据编码并实时推流到RTMP流媒体服务器,达到直播功能(推流)

一、环境介绍 操作系统: VM虚拟机运行的ubuntu18.04 FFMPEG版本: 4.4.2 摄像头: 罗技USB摄像头、电脑自带摄像头 声卡:电脑自带声卡 二、FFMPEG、X264的安装 参考这里:FFMPEG开发: Linux下采集摄像头数据录制成MP4视频保存到本: 地https://blog.youkuaiyun.com/xiaolong1126626497/article/d...

2990

JavaScript 学习手册二:JS 数据类型

第1关:JavaScript 数据类型介绍 任务描述 本关任务:在函数 objectTest() 内部定义了六个变量 a、b、c、d、e、f,并已经赋值,你需要判断它们各是什么数据类型。变量 aType、bType、cType、dType、eType、fType 分别表示上面六个变量的数据类型的名字,你需要给他们赋值。比如变量 a 如果是数字类型,需要给变量 aType 赋值字符串 number。可选的数据类型名如下: number、string、bool、object、undefined 和 arra

weixin_54327001的博客 8432

阿里九宫格验证码 (Baxia SecCaptcha) 逆向工程与自动化求解

实现对阿里巴夏 (Baxia) 九宫格点击验证码的全自动求解模式说明依赖浏览器模式通过 Puppeteer/Playwright 控制真实浏览器,享有完整 DOM/Canvas/WASM 环境需要 Chrome/Chromium纯算模式脱离浏览器,通过 HTTP API + Node.js WASM 解密完成求解无需浏览器。

猫敷雪 378

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JavaScript数据类型和转化——JS

目录 1.数据类型 1.1为什么需要数据类型 1.2变量的数据类型 1.3数据类型分类 2.模板字符串(ES6新增),——模板字面量 2.1解析变量 2.2字符串可以换行 2.3调用函数 3.typeof和字面量 3.1typeof的使用 3.2字面量 4.数据类型的转换 4.1什么是数据类型 4.2转换为字符串类型 4.3转换为数字型 4.4转换为布尔型 1.数据类型 1.1为什么需要数据类型 因为不同数据所占用的存储空间不同,为了便于把数据分成所需内存大小

孙宇航的博客 1227

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【JavaScript基础】JS中的数据类型

基本数据类型 Js中的基本数据类型有五种:Undefined、Null、Boolean、Number、String 1. Undefined Undefined类型只有undefined一个值,在使用var声明变量但是未进行初始化的时候,该变量的值就是undefined。 2. Null Null类型也同样只有null一个值,表示一个空对象指针。undefined其实也是派生自null值的,但是null和undefined的含义完全不同。 3. Boolean Boolean类型有true和false两个值

VoidD的博客 312

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JavaScript系列-07 JS数据类型之undefined类型

javaScript系列 JS的数据类型 文章目录javaScript系列前言一、undefined数据类型1.1简单了解 前言 虽然js在变量声明的时候无需指定数据类型,但是在赋值的时候,每个数据还是有属于自己的数据类型。所以还是有了解的必要 一、undefined数据类型 1.1简单了解 Undefined类型只有一个值,这个值就是 undefined 当一个变量没有手动赋值,系统默认赋值undefined 或者也可以给一个变量手动赋值undefined。 <script typ

m0_46222379的博客 252

JS学习篇(二) JavaScript七种数据类型

要了解一门语言,首先要了解它的数据类型有哪些?他们之间有什么关系?能否互相转换等。 目前,JavaScript(下称JS)中有七大数据类型,它们分别是: 1. Boolean 布尔型 2. Null 空 3. Undefined 未定义 4. Number 数字型 5. String 字符串型 ...

豪阁的个人博客 1852

【Js】JavaScript数据类型隐式转换

类型相同基本类型,直接比较值引用类型比较指针类型不同,尝试转成number类型,先调用valueOf()转成number不行就再用toString()方法转成stringnull、NaN、undefined单独一套规则。

m0_57135756的博客 1万+

Js高级总结1 JavaScript数据类型

typeof:返回数据类型的字符串表达,可以判断 undefined 数值 字符串 布尔值 function,不能判断 null object array。test.call/apply(obj):obj.test(),让一个函数成为任意指定对象的方法进行调用。n个引用变量指向同一个对象,通过一个变量修改对象内部数据,另一个变量看到的是修改之后的数据。2个引用变量指向同一个对象,让其中一个引用变量指向另一个对象,另一引用变量依然指向前一对象。所有函数内部都有一个变量this,它的值是调用函数的当前对象。

weixin_54372875的博客 1070

JS初识 JavaScript变量 数据类型

变量作用域:分为全局作用域和局部作用域,函数外部和函数内部使用var声明的变量写在函数内部就是局部变量 仅当前作用域可见,声明在函数外部的变量就是全局变量 所有作用域可见,写在函数内部但是前面不加声明变量关键字就是全局变量。值类型(基本数据类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol(唯一)、bigInt(+n)。注释、变量、操作符、流程控制语句、数组、对象、函数....的轻量级,解释型或即时编译型的编程语言。

qq_53402777的博客 334

初识JS/JavaScript及其数据类型

1.ECMAScript 核心js 基础语法和内置对象函数。2.DOM(Document Object Model)文档对象模型。3.BOM(Browser Object Model)浏览器对象模型。js是一门函数优先,具有原型编程的一门需要解释器解析的编程语言。

狗头苏丹的博客 367

【JavaScript】基础内容,HTML如何引用JavaScript, JS 常用的数据类型

注意数组返回是:object。

xudahai513的博客 628

【JavaScript】JS中两种数据类型的传参

简单介绍【JavaScript】中两大数据类型的传参过程

一文不值的博客 644

JavaScript之JS的数据类型

前言 JavaScript一共有6中数据类型: 基本数据类型(5):字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、空(Null)、未定义(Undefined) 复杂数据类型(1):对象(Object) 注意:Array、Date、Math、Error Set(ES6).....都是属于Object中 一、JS数据类型概述 1.1 简介 原始类...

a878787877的专栏 229

javascript-js语法基础之数据类型

在学习JavaScript之前,应该先明白学习方向。ECMAScript(核心语言规范)、DOM(文档对象模型) 和 BOM(浏览器对象模型)。而这篇文章主要讲解ECMAScript(核心语言规范),即js语法基础。js的变量。

2303_76454687的博客 942

【JavaScript】JS数据类型检测的方法详解

JavaScript数据类型检测方法全面解析 摘要:本文系统介绍了JavaScript中的数据类型检测方法,包括基础类型与引用类型的存储差异,以及四种核心检测方法:typeof操作符(适合基础类型但存在null误判)、instanceof运算符(专用于引用类型检测)、constructor属性(易受重写影响)和Object.prototype.toString.call()(万能精准检测法)。通过对比表格分析各方法的优缺点,并提供了表单验证、API数据处理等实战案例。

1259

JavaScript | 深入理解js的数据类型

导读 5种基本数据类型:Undefined、Null、Boolean、Number、String 1种复杂数据类型:Object typeof操作符 检测给定变量的数据类型 var message = "abc" var msg2; alert(typeof (msg)); //undefined,未声明 alert(typeof (msg2)); //undefin

Uching的博客 700
上一篇: 从一道easy leetcode问题,谈谈最大子列和的Kadane算法
下一篇: JavaScript中的==和===
the__apollo
博客等级 码龄10年 90粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值