js中6种变量声明的方式

JavaScript:var、let和const的区别 JavaScript变量声明方式对比摘要: JavaScript中有多种变量声明方式,主要分为传统方式(var)和ES6新增方式(let/const)。var具有函数作用域和变量提升特性,允许重复声明;let和const具有块作用域和暂时性死区特性,let允许重新赋值而const不允许。此外还有全局变量声明(不推荐)、函数参数声明、function/class声明、import/export声明等多种方式。最佳实践建议优先使用const,需要重新赋值时用let,避免使用var和无关键字声明。不同声明方式 阅读详情

目前共6种声明变量的方式,分别为var,let,const,function,class,import,下面分别阐述一下这六种方式。

1 var

在ES5阶段,用var定义变量,此阶段具有以下特点 :

1. 没有块的概念,可以跨块访问,不能跨函数访问;

2. 存在变量提升。

2 let

ES6阶段,出现了块大概念,新增了块级作用域,同时新增了let命令,let声明大变量具有以下特点:

1. let声明的变量只在它所在的代码块有效;

2. 不存在变量提升。let不会像var那样会发生 变量提升 现象,因此,变量需要先声明后再使用,否则会报错;

3. 暂时性死区。在代码块内,使用let命令声明变量之前,该变量都是不可用的;

4. 不允许重复声明。

3 const

在let命令出现的同时,出现了const命令,其用于声明一个只读的常量,具有以下的特点:

1. 一旦声明就必须立即初始化;

2. 一旦声明,常量值就不能改变了(指的是内存地址不能改变);

3. 块作用域内有效;

4. 不存在变量提升;

5. 存在暂时性死去。

4 function

function命令用于定义一个函数,具有以下特点:

1. 函数声明后不会立即执行,需要调用的时候才知晓;

2. 对支持ES5和ES6浏览器环境在作用域内有一定区别,所以应避免在块作用域内声明函数。

5 class

ES6语法引入了class关键字,用来定义类,该写法相比于对象原型的方式具有以下特点:

1. 相比于对象原型的方式写法更清晰;

2. 更像面向对象编程的语法;

6 import

ES6在语言标准的层面上实现了模块功能,其中import命令就是用于加载模块,然后输出变量,其具有以下特点:

1. import命令接受一对大括号,其里面的变量名必须与被导入的模块对外的名称相同;

2. 用as关键字可将输入的变量名重名;

3. import命令输入的变量都是只读的;

4. import命令具有提升效果,会提升到整个模块的头部,首先执行(因为import命令是在编辑阶段执行的,在代码运行之前);

5. import是静态执行,不能使用表达式和变量;

6. import会执行所加载的模块

转载自:https://www.weidianyuedu.com

PHP证书图片生成 $realname = "姓名"; $schoolname = "学校"; $idcard = "身份证号"; $image = imagecreatefrompng('certification.png'); // 证书模版图片文件的路径 $red = imagecolorallocate($image,00,00,00); // 字体颜色 阅读详情

相关推荐

MacBook用户必看:用Homebrew一键搞定frp内网穿透(含阿里云配置模板)

本文为MacBook用户提供基于Homebrew的frp内网穿透实战指南,详细介绍了从环境准备到阿里云服务器配置的全过程。通过Homebrew一键安装frp客户端,结合阿里云配置模板,实现高效稳定的内网穿透,适用于远程开发、IoT设备调试等多种场景。

weixin_28692817的博客 300

ES66声明变量的方法

ES5 只有两种声明变量的方法:var命令和function命令。 ES6 除了添加let和const命令,还有两种声明变量的方法:import命令和class命令。 所以,ES6 一共有 6声明变量的方法。 (1) var命令。 var a ;  //undefined var b = 1; var定义的变量可以修改,如果不初始化会输出undefined,不会报错 var 声明...

GoodIdea 3618

24CXX编程器V3.0+驱动.rar

24CXX编程器V3.0+驱动.rar 24CXX芯片设备读写工具

盘点js6变量声明方式

目前共6声明变量方式,分别为var,let,const,function,class,import,下面分别阐述一下这六种方式。4. import命令具有提升效果,会提升到整个模块的头部,首先执行(因为import命令是在编辑阶段执行的,在代码运行之前);let不会像var那样会发生 变量提升 现象,因此,变量需要先声明后再使用,否则会报错;1. import命令接受一对大括号,其里面的变量名必须与被导入的模块对外的名称相同;在代码块内,使用let命令声明变量之前,该变量都是不可用的;

hdxx2022的博客 1168

JavaScript声明全局变量的三种方式

JS声明全局变量主要分为显式声明或者隐式声明下面分别介绍。 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量。该方式即为显式声明详细如下: var test = 5; //全局变量 function a() { var cc=3; //局部变量 alert(test); } ...

weixin_30340745的博客 1280

js变量--全局变量和局部变量

1、javaScript中在函数里声明变量为局部变量,其余为全局变量。 2、javaScript没有块元素 转载于:https://www.cnblogs.com/aifan/p/5593907.html

weixin_30256505的博客 147

JavaScript变量声明方法详解【JavaScript教程】

变量是程序在内存中申请的一块用来存放数据的空间。例如,程序在内存中保存字符串“小明”和“小张”,如图1所示。在图1中,我们可以将内存想象成一个酒店,当需要人住酒店时,就需要在酒店里预订一个房间。由于酒店里有大量的房间,为了准确地找到某一个房间, 需要给每个房间分配一个房间号。同样地,内存中的每个变量需要进行命名,才可以找到某一个变量,因此,图1中的两个变量分别被命名为pl和p2。图1。

zy1992As的博客 949

盘点:js6变量声明方式

目前共6声明变量方式,分别为var,let,const,function,class,import,下面分别阐述一下这六种方式。 1 var 在ES5阶段,用var定义变量,此阶段具有以下特点 : 1. 没有块的概念,可以跨块访问,不能跨函数访问; 2. 存在变量提升。 2 let 在ES6阶段,出现了块大概念,新增了块作用域,同时新增了let命令,let声明变量具有以下特点: 1. let声明变量只在它所在的代码块有效; 2. 不存在变量提升。let不会像var那样会...

asd3331380的博客 574

js6变量声明方式解析

目前共6声明变量方式,分别为var,let,const,function,class,import,下面分别阐述一下这六种方式。4. import命令具有提升效果,会提升到整个模块的头部,首先执行(因为import命令是在编辑阶段执行的,在代码运行之前);let不会像var那样会发生 变量提升 现象,因此,变量需要先声明后再使用,否则会报错;1. import命令接受一对大括号,其里面的变量名必须与被导入的模块对外的名称相同;在代码块内,使用let命令声明变量之前,该变量都是不可用的;

hdxx2022的博客 237

前端百题斩【002】——js6变量声明方式

写该系列文章的初衷是“让每位前端工程师掌握高频知识点,为工作助力”。这是前端百题斩的第2斩,希望朋友们关注公众号“执鸢者”,用知识武装自己的头脑。随着js的发展,目前共6声明变量方式,...

wang_yu_shun的博客 355

JavaScript学习第一天:初探JS世界

JavaScript作为Web开发的核心语言,为网页带来了丰富的动态交互效果。今天的學習,我们初步探索了JavaScript的基础知识,包括其基本概念、引入方式以及核心的语法元素。通过实际的代码示例,我们掌握了如何在HTML中嵌入JavaScript代码,如何声明变量、定义数据类型、使用运算符进行操作等基本技能。这些内容为后续深入学习JavaScript奠定了坚实的基础。

2303_78120798的博客 1152

Javascript学习记录

alert():控制浏览器弹出一个警告框。document.write():可以向body中输出一个内容。console.log():向控制台输出内容。

hghjjj的博客 108

2024年最全JavaScript_02(1),2024年最新抖音四面被拒再战头条终获offer

正值招聘旺季,很多小伙伴都询问我有没有前端方面的面试题!开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】主流浏览器(必须有独立内核且市场份额大于3%)内核名称IEtridentChromefirefoxGeckooperaprestoSafariwebkit。

2401_84619245的博客 954

js基础知识和变量

大家好,我还是那个小白,不过我们已经学到了js,下面是我这两天所学知识: ** JS基础: ** 开发语言分类: 解释性语言:翻译一行,执行一行 JS、Python 编译性语言:通篇翻译后再执行 Jave、C、C++、C# 数据结构:存储数据的方式 算法:解决问题的方法和步骤 报错: 表示xxx重复声明: xxx has already been declared 表示xxx没有声明: xxx is not defined 表示xxx没有赋值(不是报错): undefined typeof拓展

weixin_49815418的博客 151

JS基础

一、Js基础 从上向下的同步性解释文档。 上面的代码不能调用下面script中的标签,下面的代码可以调用上面的标签 内联js:<a href="javascript:void(0)">超链接</a> 默认阻止跳转 载入外部js:可以再head和body部分 一定要写上 ./ 表示当前文件所在的文件夹。如果加载的js中,变量或者函数相同时,就会覆盖,称为变量污染 在控制台中,打印的数值是蓝色,字符串是黑色 1、注释 ctrl+/ 行注释,注释一行的代码 shift+alt+a 块状

Albert_ChengXY的博客 281

认识JS

JS:全称JavaScript 认识JS JS是解释性语言: 读取一行代码执行一行代码,依次类推,直到所有代码执行完毕。 软件开发流程: 1. 软件计划 2.需求分析和定义 3.软件设计(数据结构和算法) 4.软件实现 5.测试 6.运营和维护 数据结构: 数据的存储方式变量、数组等) 算法: 解决问题的方法和步骤 算法的特点: 有穷性:有限个步骤 确定性:每个步骤都是确定的 有0到多个输入...

Chrise-Song的博客 158

JS面试题

前端js面试题总结

qq_60646136的博客 2193

JS变量声明方式

javascript声明变量方式和效果

zhuyuu_的博客 1437

你要了解的 JavaScript —— Scope

JavaScript中,Scope(作用域)是一个非常重要的概念,对很多刚接触JavaScript的开发者来说,这个概念理解起来并不容易。本文的目的就是对JavaScript Scope的知识点做一次梳理,希望通过本文能帮助你更好的理解Scope。 #Scope到底是什么? 在JavaScript中,Scope一般译为作用域,可以通俗易懂的理解为:作用域限定了在某个特定范围内可以得到的变量、函数...

weixin_34150830的博客 1012

JS基础语法

是 ES6(ECMAScript 2015)引入的变量声明方式,用于解决。两者均具有块作用域,且不存在变量提升问题。表示文本数据,用单引号、双引号或反引号包裹。表示唯一且不可变的值,通常用作对象属性的键。现在企业开发当中已经很少用到var。表示数值,包括整数和浮点数。表示变量未定义或未赋值。表示空值或无对象引用。表示 BigInt。基本数据类型,引用数据类型。

2303_76627649的博客 402
上一篇: c++智能指针浅谈
下一篇: 什么是css选择器
hdxx2022
博客等级 码龄4年 1428粉丝 · 1559原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值