JavaScript 中 undefined 与 undeclared 之间的区别是什么

区别是:undefined是Javascript中的语言类型之一,而undeclared是Javascript中的一种语法错误。undefined: 已申明,未赋值。尝试访问一个undefined 的变量时,浏览器不会报错并会返回undefined。undeclared: 未声明,未赋值。尝试访问一个undeclared的变量时,浏览器会报错,JS执行会中断。

JavaScript 中 undefined 与 undeclared 之间的区别是什么-Worktile社区

undefined是Javascript中的语言类型之一,而undeclared是Javascript中的一种语法错误。

JS中的undefined可以表示“空”,另一个可以表示“空”的为null。JS中的undefined是一个值为undefined的类型。

undefined: 已申明,未赋值。

尝试访问一个undefined 的变量时,浏览器不会报错并会返回undefined。

undeclared: 未声明,未赋值。

尝试访问一个undeclared的变量时,浏览器会报错,JS执行会中断。

直接上码:

当我们申明一个变量:

var foo; //此时foo的值就是undefined

而如下代码却也可以在浏览器里无错执行:

b = “foo” ; //

alert(window.b); // 输出”foo”

源于JS的语言解析特性,当变量没有使用var显式声明并且在使用前已经赋值,存储这个值的变量会被隐性声明为全局变量。因此b现在变成了window对象的一个属性,所以访问它并不会报错。

所以,当我们尝试执行如下代码时:

alert(a);

将会输出Uncaught ReferenceError: a is not defined.

延伸阅读:

什么是JavaScript?

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES2015。

文章标题:JavaScript 中 undefined 与 undeclared 之间的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38601

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月17日 上午2:33
下一篇 2023年2月17日 上午2:35

相关推荐

  • oa协同办公管理系统是什么

    协同OA、协同办公系统是因为基于OA并超越OA的概念,所以我们常叫协同OA,协同OA是利用网络、计算机、信息化,而提供给多人沟通、共享、协同一起办公的一块软件,给办公人员提供方便、快捷、降低成本,提高效率的一款管理软件。 一、什么是协同OA 所谓协同,就是指协调两个或者两个以上的不同资源或者个体,协…

    2023年5月23日
    2600
  • 大数据平台是什么

    大数据平台是一个全面的信息处理和分析系统,它能处理和分析海量、多样性的数据,从而为企业提供决策支持。大数据平台通常包括数据采集、数据存储、数据处理和数据分析等模块。这种平台的使用,帮助企业从大数据中获取价值,提升业务效率,优化决策过程。 大数据平台,从宏观上来说,是一个集成了各种大数据技术和工具的系…

    2023年5月15日
    3800
  • 业务流程管理系统有哪些功能

    业务流程管理系统的功能有:1、系统管理;2、客户、供应商、产品管理;3、销售管理;4、项目管理;5、财务管理;6、知识库;7、统计分析;8、流程定义。业务流程管理系统通过现代化的工作流软件技术手段,将管理线路规范化、标准化和流程自动化,有效地提高业务运作效率,降低成本,为实现企业的战略目标提供保障。…

    2022年11月16日
    26401
  • 有谁可以介绍一些团队任务分配管理软件

    团队任务分配管理软件包括:1.研发任务管理 PingCode;2. 团队任务协作管理 Worktile;3.个人和小团队任务管理 Notion;4.国外免费团队任务管理app Trello;5.国外中小团队任务管理 nTask;6.海外知名任务分配管理工具 Asana;7.个人待办事项管理 Micr…

    2023年2月17日
    18900
  • 开发exe程序一般用什么软件

    开发exe程序可以用这些软件:1、C++ Builder;2、Visual Studio;3、Lazarus;4、Electron;5、Qt;6、Delphi。C++ Builder是一种强大的应用程序开发工具,可以通过C++语言来编写Windows.exe程序。 1、C++ Builder C++…

    2023年4月15日
    36600
  • 数据库中lock和latch的区别是什么

    主要区别在于:一、实现方式不同;二、作用范围不同;三、粒度不同;四、开销不同。Latch是一种轻量级的互斥锁,它是在内存中实现的,用于保护共享数据结构,例如缓冲池中的页。Lock是一种重量级的互斥锁,它是在磁盘上实现的,用于保护数据文件和索引文件。 一、实现方式不同 Latch是在内存中实现的,而L…

    2023年5月31日
    400
  • 软考认证有哪些

    软考认证包括:1、软件评测师考试;2、ISTQB;3、CSTE;4、LoadRunner ASP。软考是全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)的中级考试项目,它属于职业资格考试,又是职称资格考试,具有水平考试性质。 1、软件评测师考试 软考是全国计算机技术与软件专业技术资格考…

    2023年1月4日
    9500
  • 打印文档用什么软件

    打印文档用的软件有:1、打印纸;2、爱佳能打印机;3、硕方打印;4、word;5、WPS Office;6、Word表格编辑;7、手机word文档。打印纸有非常丰富的模板资源,涵盖了非基础的文件编编辑和管理。 一、打印纸 有非常丰富的模板资源,涵盖了非基础的文件编编辑和管理。各种表格以及各种模板可以…

    2023年4月21日
    5700
  • san和nas的区别是什么

    san和nas的区别在于以下方面:SAN存储设备通过光纤连接,而NAS存储设备通过TCP/IP连接。由于这个原因,SAN通常用于高级解决方案,而NAS解决方案更易于家庭用户或小型企业使用。为了通过SAN连接,设备必须能够使用SCSI光纤通道。 一、区别 SAN存储设备通过光纤连接,而NAS存储设备通…

    2023年3月10日
    4100
  • ios的底层是什么语言

    ios的底层语言是:objective-c(也称object-c),是基于C++的。iOS开发的标准语言是objective-c。是c的一种超集, 它是对c的扩展,支持面向对象编程。像后来的一些高级语言java,c#等都借鉴了该语言的面向对象特性。 一、ios的底层是什么语言 ios开发使用的语言是…

    2023年4月13日
    8000

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部