JS变量与数据类型

js基础高级:01、数据类型(typeof、instanceof、===的使用)、数据与变量与内存(定义、赋值与内存关系、引用变量赋值、js调函数传参) 本文主要介绍了JavaScript中的数据类型、变量与内存的相关概念。数据类型分为基本类型(String、Number、boolean、undefined、null)和对象类型(Object、Function、Array)。判断数据类型可使用typeof、instanceof和===运算符,并分析了它们的区别和适用场景。 第二部分探讨了变量类型与数据类型的区别,说明变量类型分为基本类型和引用类型。同时解释了undefined与null的区别,以及何时给变量赋值为null。 最后阐述了数据、变量与内存的关系: 阅读详情

目录

JS是弱类型语言,意义相同的另一种说法是:ESMAScript的变量是松散类型的。

ECMAScript有5种简单数据类型 + 1种复杂数据类型

typeof 检测数据类型

Undefined

Null

Boolean

Number

 

 

JS是弱类型语言,意义相同的另一种说法是:ESMAScript的变量是松散类型的。


  • 弱类型语言是相对于强类型语言而言的(比如JAVA)。本质区别在于当声明变量时强类型语言会指定这个变量的数据类型,如果后面再给这个变量赋其他数据类型的变量就会出错;相对的,弱类型语言(或者说松散类型)的变量可以用来保存任何类型的数据。

    // eg.
    
    var a = ‘lalala’;
    
    a = 10;            // 有效,但不建议

 

ECMAScript有5种简单数据类型 + 1种复杂数据类型


  • 简单数据类型:String、Number、Boolean、Null、Undefined

  • 复杂数据类型:Object

 

typeof 检测数据类型


  • 由于松散类型的特点,JS就需要一种可靠手段来检测变量的数据类型;

  • typeof是操作符,不是函数,可以加括号也可不加;

  • typeof操作符可以返回6种结果:

  • “string”

  • “number"

  • “boolean"

  • “undefined"

  • “object"

  • “function"

  • typeof null 返回 “object”,null被看作一个空的对象

  • 函数在ECMAScript中也是对象而不是一种单独的数据类型,但function在应用中确实又不同于一般对象,就可以用typeof进行区分

 

Undefined


  • Undefined是一个数据类型,只有一个特殊值:undefined

  • 当使用var声明了变量却没有对它初始化,此时该变量的值默认就是undefined:

    var a;
    
    console.log(a === undefined);        //true
  • 虽然声明不初始化的变量默认值是undefined,但仍和不声明是有区别的:

    var a;
    
    alert(a);        // undefined
    
    alert(b);        // 错误(b is not defined)
  • 有趣的是不管变量是否已经声明,使用typeof操作符判断的结果都是undefined,这在逻辑上是合理的:

    var a;
    
    typeof a;        //undefined
    
    typeof b;        //undefined     

                                                                                                                                                                                                              

Null


  • 与Undefined一样,Null也是只有一个特殊值:null 的数据类型;

  • null表示一个指向空对象的指针,所以typeof null才会返回“object”;

  • undefined派生自null:

    alert(null == undefined);        //true
  • 有一个好习惯:如果要定义一个变量用于未来存放对象,最好初始化为null(如var man = null),这样当需要判断该变量是否已经存放了对象就可以使用man != null来判断;

 

Boolean


  • Boolean类型只有两个值:true || false,注意:由于JS的大小写敏感,所以True、False或其他true和false带大写字母的任意组合都不是Boolean类型的值,而只是普通标识符;

  • 其他数据类型均可以转换成Boolean类型参与判断、逻辑运算,转换方法有:

    • Boolean( ),参数可以是任意数据类型;

    • !!,利用逻辑非运算符对数据类型的隐式转换,两次使用即可达到与Boolean函数相同的效果;

  • 不同数据类型的值转换成Boolean类型得到的结果:

    • Boolean:

      • true: true

      • false: false

    • Number:

      • 任意非零数字(包括正负∞):true

      • 0或NaN:false

    • String:

      • 任意非空字符串:true

      • 空字符串:false

    • Object:

      • 任何对象:true

      • null:false

    • Undefined:

      • undefined:false

 

Number


Number类型值得研究的点比较多,单拎一篇文章来讲,点击这句话跳转

 

String与Object


且听下回分解
 

嵌入式代码审计中常见的漏洞(四) 经过漫长时间的迭代更新,内容从一开始的碎片化网罗搜集,到排版与整合划分,再到学习与实践验证,最后摒弃初始,用自己的语言与实践结论通俗的将它展现出来。强化知识技能的同时也为读者带来更好的阅读体验。 本篇介绍了以下代码安全问题: 编号 漏洞 1 敏感信息硬编码 2 未初始化安全 3 越界访问 4 迭代器失效 5 迭代器尾部解引用 阅读详情

相关推荐

海康威视摄像头CVE-2017-7921漏洞复现:从零到一的实战指南(含解密工具下载)

本文详细解析了海康威视摄像头CVE-2017-7921漏洞的技术原理与复现方法,提供从环境搭建到实战利用的完整指南。通过认证绕过漏洞,攻击者可获取敏感信息并执行高权限操作,文章还包含解密工具下载与防御建议,助力安全研究人员深入理解物联网设备安全风险。

weixin_29325515的博客 814

JavaScript 变量的概念、变量的使用、数据类型

目录 一、变量的概念 1、什么是变量 2、变量在内存中的存储 3、变量的使用 3.1声明变量 3.2变量赋值 3.3变量的初始化 3.4变量与法拓展 3.5变量命名规范 二、数据类型 1、为什么需要数据类型: 2、js中的数据类型: 2.1简单型数据 2.1.1数字型 NumberJavaScript 数字类型既可以保存整数,也可以保存小数(浮点数)。 2.1.3字符串数据类型String 2.1.3获取变量数据类型 2.1.4数据的转换 2.3复杂...

m0_61973028的博客 820

2025年第十六届蓝桥杯省赛C/C++大学B组 个人题解

也是写了写部分题解,朱波也是狠狠水了个省二┭┮﹏┭┮,毕竟许多算法知识没怎么学。

2301_80173664的博客 2432

JS --变量与数据类型简介

文章目录JS 介绍JS 变量命名常量声明变量varletconstJS 数据类型数字类型字符串类型拼接字符串移除空白替换字符切割字符串切片操作改变大小写格式化字符串布尔类型null、undefined数组类型拼接数组尾部追加数组元素弹出数组末尾元素移除数组头部元素数组头部插入元素forEach()splice JS 介绍 JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaSc

XWenXiang的博客 2378

【实战指南】从零构建UNet多分类分割数据集:标注、转换与训练全流程

本文提供了一份从零构建UNet多分类分割数据集的完整实战指南。详细介绍了使用Labelme进行图像标注的核心技巧与规范,并通过Python脚本将标注结果转换为模型可用的VOC格式。最后,指导如何修改经典的PyTorch版UNet代码,以适配自定义数据集并进行训练与测试,帮助读者完成从数据准备到模型训练的全流程。

arduino9maker的博客 288

WSL子系统启动报错 Wsl/Service/CreateInstance/CreateVm/HCS_E_SERVICE_NOT_AVAILABLE

WSL子系统启动报错 :Wsl/Service/CreateInstance/CreateVm/HCS_E_SERVICE_NOT_AVAILABLE 于是分析原因,最终发现是Windows功能中的虚拟机平台功能不知道什么时候被取消了。

Linux I Tell U 6万+

JS基础知识(变量、数据类型)

JavaScript基础知识初始JavaScriptJavascript是什么JavaScript的作用HTML/CSS/JS 的关系浏览器执行JS两部分JS组成JS初体验行内式内嵌式外部JS文件JavaScript注释单行注释多行注释JavaScript输入输出语句 初始JavaScript Javascript是什么 JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行,现在也可以基于 Nod

初辰的博客 2821

基于FPGA的以太网设计(1)----大白话解释什么是以太网

基于FPGA的千兆以太网设计(1)----大白话解释什么是以太网

孤独的单刀 3877

JavaScript第2章、变量与数据类型

/ 步骤1:声明变量var 变量名;// 步骤2:为变量赋值变量名 = 变量值;数据类型指的就是字面量的类型,决定了一个数据的特征,比如:123和"123",直观上看这两个数据都是123,但实际上前者是一个数字,后者是一个字符串。在JS中一共有六种数据类型,可以分为两大类:基本数据类型和引用数据类型。基本数据类型:字符串(String)数值(Number)布尔值(Boolean)空值(Null)未定义(Undefined)引用数据类型:对象(Object)

zzx_1205的博客 1273

数据分析案例-车辆二氧化碳排放量数据可视化分析

本实验数据集来源于Kaggle,该数据集捕获了车辆二氧化碳排放量随不同特征变化的详细信息。数据集取自加拿大政府官方开放数据网站。其中包含 7 年期间的数据。总共有 7385 行和 12 列。各列变量含义解释如下:Make:车辆的品牌或制造商。Model:车辆的具体车型名称。Vehicle Class:车辆的分类,如紧凑型、SUV等。Engine Size(L):车辆发动机的尺寸,以升为单位。Cylinders:车辆发动机的气缸数。

m0_64336780的博客 1万+

构网型逆变器下垂控制与电流限幅策略研究:理论、仿真与代码实现

随着分布式发电和微电网技术的快速发展,构网型(Grid-Forming, GFM)逆变器因其能够自主建立电压和频率参考、支撑弱电网及孤岛运行而受到广泛关注。本文提出并实现了一种基于下垂控制的构网型逆变器控制策略,将逆变器等效为受控电压源,通过L型滤波器接入配电网。在公共耦合点(PCC)处实时测量三相电压和电流,计算有功和无功功率,进而采用P-w和Q-V下垂控制生成内部频率和电压幅值,合成三相参考电压。针对故障情况下过电流问题,设计了一种自适应电流限幅模块:当电流幅值超过设定上限时,动态降低电压参考系数k_s

huanghm88的专栏 156

JavaScript变量和数据类型总结

管你变量怎么变,一篇文章搞定(霸气)!

微风洋洋的博客 2548

大数据安全 | 期末复习(上)| 补档

大数据定义:无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

知识库搭建ing 2589

html js定义一个变量的值,JavaScript的数据类型与变量的解析(附示例)

本篇文章给大家带来的内容是关于JavaScript的数据类型与变量的解析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。这篇文章,来聊聊 JS 中的数据类型与变量。这是在学习 JS 时最基础的一类问题,但却很重要。希望我的分享有帮助到你。文章开头,我先提几个面试中遇到的问题:比如:如何理解参数的按值传递?什么是暂时性死区?什么是变量提升?全局变量和 window 的属性有...

weixin_34070026的博客 844

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JavaScript变量与数据类型

摘要:本文介绍了JavaScript中的变量定义与数据类型特性。主要内容包括:1)弱类型语言的隐式/显式变量定义方式;2)自动和强制类型转换方法;3)变量作用域(全局/局部)及变量提升现象;4)常量定义规范;5)JS基本数据类型(数值、布尔、字符串等)及其与C语言的差异;6)字符串常用操作方法。重点阐述了弱类型语言的特点、类型转换机制以及变量作用域规则,并提供了相关代码示例说明。

Daisy0304的博客 264

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JavaScript 变量与数据类型详解

例如,对负数取平方根。

weixin_44826237的博客 1204

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JavaScript手录02-变量与数据类型

本文介绍了JavaScript中的内存机制、变量和数据类型三个核心概念。在内存部分,解释了RAM的特性及变量与内存地址的关系,展示了变量声明和函数调用时的内存操作。变量部分详细说明了var、let、const三种声明方式的区别,并提供了变量命名规则与最佳实践。数据类型部分区分了7种基本数据类型和引用数据类型,介绍了typeof、instanceof和Object.prototype.toString.call()三种类型检测方法。文章通过代码示例直观展示了各知识点的实际应用,帮助读者理解JavaScript

qq_45925548的博客 794

JavaScript 基本概念:数据类型与变量

基本类型的变量值是直接保存在栈内存中,变量名用来查找到对应的栈内存中的变量值数据。 引用数据类型的变量值保存在堆内存中,并且把这个堆内存地址 0x123 赋值给栈内存中的变量。 只有引用数据类型,才会用得到堆内存。一旦引用数据类型的属性值发生改变,所有人的数据也将发生改变

zhowHua 322

JavaScript变量与数据类型:声明、赋值与类型判断(附代码示例)

摘要:本文详细介绍了JavaScript中的变量声明方式(var、let、const)及其作用域特点,讲解了基本数据类型(数值、字符串、布尔等)和引用数据类型(对象、数组)的赋值方法,并提供了多种数据类型判断方法(typeof、instanceof、Object.prototype.toString.call)。通过完整代码示例,帮助读者快速掌握JavaScript变量与数据类型的核心概念和操作技巧。

fykam的博客 1873

JavaScript教程一——数据类型与变量

简介 ECMAScript JavaScript语言的标准,被称为ECMAScript标准。最新版ECMAScript 6标准(简称ES6)在2015年6月正式发布。 JavaScript组成 ECMAScript(ES):js核心解释器 DOM (Document Object Model 文档对象模型):操作HTML对象,使用document。 BOM (Browser Object Modal 浏览器对象模型):操作浏览器,使用window。 快速入门 <script>...</sc

ruby___ruby的博客 387

JavaScript变量与数据类型的应用

             JavaScript是运行在客户端(浏览器)的脚本语言,是基于事件驱动的弱类型的脚本语言;              浏览器的内核:   渲染引擎和JS引擎      &nb

H_zhiyi的博客 298

分析 JavaScript 的数据类型与变量

这篇文章,我们来聊聊 JS 中的数据类型与变量。这是最基础的一类问题,但却很重要。 比如: 如何理解参数的按值传递? 什么是暂时性死区? 什么是变量提升? 全局变量和 window 的属性有什么区别?为什么? … … 以上的问题均来自面试。如果你并不清楚,我觉得你有必要接着读下去。 基本数据类型 在 JS 中,基本数据类型有 6 种,即数值、字符串、布尔值、null、undefined、Sym...

Leo 362

【前端学习笔记】JavaScript学习一【变量与数据类型】

Symbol 是 ES6 中引入的新数据类型,它表示一个唯一的常量,通过 Symbol 函数来创建对应的数据类型,创建时可以添加变量描述,该变量描述在传入时会被强行转换成字符串进行存储:每个通过 Symbol() 函数创建的 Symbol 值都是唯一的,这意味着即使使用相同的字符串作为描述,每次调用 Symbol() 也会返回一个新的 Symbol。当试图访问对象的属性时,不仅在该对象上查找属性,还会在该对象的原型上查找属性,以及原型的原型,依此类推,直到找到一个名字匹配的属性或到达原型链的末尾。

qq_46056318的博客 1283

B数据类型与变量.js

JavaScript数据类型分为基本类型(Undefined、Null、Boolean、Number、String、Symbol)和引用类型(Object、Array、Function)。变量可通过var、let、const声明,遵循特定命名规则,具有不同作用域。数据类型可通过隐式或显式方式进行转换。实践案例展示了如何创建对象并操作其属性方法,以及数据类型转换的应用。掌握这些基础概念对JavaScript编程至关重要,是构建复杂程序的基础。

m0_66709139的博客 817

javascript数据类型与变量

可以把变量看做存储数据的容器,JavaScript中变量是弱类型,即无需声明变量的具体类型,当变量被赋值时才确定数据类型。 声明(创建) JavaScript 变量 一、变量声明 定义时用关键字:var。如果不用var,则为全局变量。 二、变量赋值(初始化) 变量声明后可以存放任何类型的值,未经赋值(初始化)的变量,会保存一个特殊的值“undefined”,JavaScript可以直接初始化变...

dreamingbaobei的博客 404

JS变量与数据类型全解析

变量是存储数据的容器,使用var声明,命名需规范(驼峰/帕斯卡命名法)。JS数据类型分为简单类型(Number、String、Boolean、Undefined、Null)和复杂类型(Object)。Number包含整数/小数及特殊值(Infinity、NaN);String可用单/双引号,支持转义字符;Boolean值为true/false。通过typeof检测类型,可用toString()/String()/Number()/Boolean()进行类型转换,其中空值、0、NaN等转为false。

莫踌躇 547
上一篇: AngularJS 之 controller as
下一篇: JS Number
bunny_Lover
博客等级 码龄12年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值