首页 > 编程语言 >JavaScript: 二、基本语法

JavaScript: 二、基本语法

时间:2024-10-23 18:16:19浏览次数:3  
标签:基本 const 变量 作用域 JavaScript 语法 关键字 let var

目录

2.1变量以及命名规则

2.2变量的声明与赋值

2.3声明变量(var let const)

2.3.1 Var

 2.3.2 let

2.3.3 const

2.3.4总结


2.1变量以及命名规则

变量是程序在内存中申请的一块用来存放数据的空间。变量由变量名和变量值组成,通过变量名可以访问变量的值。

命名规则

(1)不能以数字开头,且不能含有+、-等运算符,如 56name、56-name 就是非法变量名。

(2)严格区分大小写,如 it 与 IT 是两个不同的变量名。

(3)不能使用 JavaScript 中的关键字命名。关键字是 JavaScript 语言中被事先定义好并赋予特殊含义的单词,如 var 就是一个关键字。

(4)使用字母、数字、下画线和美元符号($)来命名,如 str、arr3、get_name、$a。

(5)尽量要做到“见其名知其义”,如 price 表示价格,age 表示年龄等。

(5)采用驼峰命名法,第 1 个单词首字母小写,后面的单词首字母大写,如 myBooks。关键字

2.2变量的声明与赋值

JavaScript 中变量通常使用 var 关键字声明。变量声明完成后,默认值会被设定为 undefined,表示未定义。

2.3声明变量(var let const)

2.3.1 Var

var a=10              // Var 声明变量为全局变量
        function test(){
            var a=20         //局部变量
            console.log(a)       //输出:20 (局部变量不受全局变量影响)
        }
        test()
        console.log(a)             //输出:10

JavaScript 块级作用域(Block Scope)

var 关键字声明的变量不具备块级作用域的特性,它在 {} 外依然能被访问到

 {
            var x=2
        }
        console.log(x)              //输出:2

 在块中重新声明变量也会重新声明块外的变量

var x=1
        {
            var x=10 
            console.log(x)          //输出:10
        }
        console.log(x)              //输出:10

 重新定义变量

使用 var 关键字声明的变量在任何地方都可以修改:

var x = 2; 
// x 为 2 
var x = 3 
// 现在 x 为 3

 2.3.2 let

JavaScript 块级作用域(Block Scope)

let 声明的变量只在 let 命令所在的代码块 {} 内有效,在 {} 之外不能访问。

var x=1
        {
            let x=10
            console.log(x)          //输出:10
        }
        console.log(x)              //输出:1

重新定义变量

let 关键字在不同作用域,或不同块级作用域中是可以重新声明赋值的

let x=2
        console.log(x)                 //输出:2
        {
            let x=1
            console.log(x)             //输出:1
        }
        {
            let x=3
            console.log(x)             //输出:3
        }

在相同的作用域或块级作用域中,不能使用 let 关键字来重置 let 关键字声明的变量:

let x = 2; // 合法 
let x = 3; // 不合法 
{ 
let x = 4; // 合法 
let x = 5; // 不合法 
} 

在相同的作用域或块级作用域中,不能使用 var 关键字来重置 let 关键字声明的变量:

let x = 2; // 合法 
var x = 3; // 不合法 
{ 
let x = 4; // 合法 
var x = 5; // 不合法 
}

2.3.3 const

初始化要求:与let不同,使用const声明变量时,必须立即为其赋予初始值。不提供初始值会导致语法错误。

const pi=3.14
        const pi           //错误
        console.log(pi)    //输出:3.14

不可变性:一旦用const声明并初始化了一个变量,尝试重新赋值会抛出错误。

const age=19
        age=36             //错误

const同样遵循块级作用域的规则,并且禁止在同一作用域内重复声明同名变量。

   const name = 'Minos';
         const name = 'Nic';     // 错误:SyntaxError,重复声明

const的声明范围也限制在声明它的块内。

 const name='yuyu'
        {
            const name='xinxin'
            console.log(name)          //输出:xinxin
        }
        console.log(name)               //输出:yuyu

2.3.4总结

(1)使用 var 关键字声明的全局作用域变量属于 window 对象。

(2)使用 let 关键字声明的全局作用域变量不属于 window 对象。

(3)使用 var 关键字声明的变量在任何地方都可以修改。

(4)在相同的作用域或块级作用域中,不能使用 let 关键字来重置 var 关键字声明的变量。

(5)在相同的作用域或块级作用域中,不能使用 let 关键字来重置 let 关键字声明的变量。

(6)let 关键字在不同作用域,或不用块级作用域中是可以重新声明赋值的。

(7)在相同的作用域或块级作用域中,不能使用 const 关键字来重置 var 和 let关键字声明的变              量。

(8)在相同的作用域或块级作用域中,不能使用 const 关键字来重置 const 关键字声明的变量

(9)const 关键字在不同作用域,或不同块级作用域中是可以重新声明赋值的:

(10)var 关键字定义的变量可以先使用后声明。

(11)let 关键字定义的变量需要先声明再使用。

(12)const 关键字定义的常量,声明时必须进行初始化,且初始化后不可再修改

标签:基本,const,变量,作用域,JavaScript,语法,关键字,let,var
From: https://blog.csdn.net/2401_86036532/article/details/143186254

相关文章

  • JavaScript中的文件
    裁剪图片原理:借助Canvas,绘制圆形路径,裁剪,填充图片/***@description:裁剪图片变为圆形*@return{Promise}*@param{String}url:普通路径*/exportconstclipImageUrl=(url)=>{returnnewPromise((resolve,reject)=>{letimage=newImage......
  • Javascript数据类型及转换
    Javascript代码引入方式同HTML相似分为行内式、内嵌式、外链式    1.行内式:行内式是将JavaScript代码作为HTML标签的属性值使用。<ahref="javascript:alert('Hello');">test</a>代码杂乱容易混淆不推荐    2.嵌入式:也称为内嵌式,使用<script>标签包......
  • 手把手教你学基带SOC芯片(2.1.6)--数字通信系统的工作流程:信源解码的基本原理
    目录信源解码的基本原理1. 数模转换(D/A转换)2. 滤波3. 信号重构常见的信源解码方法1. 脉冲编码调制(PCM)解码2. 差分脉冲编码调制(DPCM)解码3. 自适应差分脉冲编码调制(ADPCM)解码4. 音频解码5. 图像解码应用场景总结信源解码是数字通信系统接收过程中的一个重......
  • 空间数据库基础理论 GIS空间数据处理分析涉及的基本概念
    空间数据库基础理论GIS空间数据处理分析涉及的基本概念周陆军​腾讯科技(深圳)有限公司前端开发​关注他 63人赞同了该文章《空间数据库》课程整理汇总,106篇课程,内容太长,学习中,把一些关键点,汇总记下笔记地理空间GIS中的地理空间(Geo-spatial)是指......
  • 实验十七 铁磁材料的磁滞回线和基本磁化曲线
            ......
  • JavaScript 第27章:构建工具与自动化
    在现代JavaScript开发中,构建工具、代码转换工具、代码质量和代码格式化工具对于提高开发效率、保持代码整洁以及确保代码质量有着至关重要的作用。下面将分别介绍Webpack、Babel、ESLint和Prettier的配置与使用,并给出一些示例。1.构建工具:Webpack配置与使用Webpack是一个......
  • 手写深拷贝-基本实现
    <scriptsrc="./js/isObject.js"></script><script>////封装判断是否是对象类型//functionisObject(value){//constvalueType=typeofvalue//return(value!==null)&&(valueType==="object"|......
  • Unity CharacterController基本属性
    CharacterController优点:已有的碰撞体最小移动距离限制:通常设置为0,如果角色试图移动到指示值以下,根本移动不了,目的是为了消除潜在的不需要的抖动皮肤宽度限制:避免卡在其他碰撞体中,在碰撞体进行碰撞检测拦截之前,皮肤宽度已经在这的基础上,提前做了一次碰撞拦截,但它会更柔和,允许......
  • 空间数据库基础理论 GIS空间数据处理分析涉及的基本概念
    空间数据库基础理论GIS空间数据处理分析涉及的基本概念周陆军​腾讯科技(深圳)有限公司前端开发​关注他 63人赞同了该文章《空间数据库》课程整理汇总,106篇课程,内容太长,学习中,把一些关键点,汇总记下笔记地理空间GIS中的地理空间(Geo-spatial)是指......
  • Maven的安装,环境变量配置及基本使用
    Maven简介Maven是一个项目管理和构建自动化工具,专注于Java应用的开发。它通过项目对象模型(POM)来管理项目的构建、报告和文档。Maven的主要特点包括依赖管理和项目信息管理。Maven的核心功能依赖管理:Maven能够管理项目中所有jar包的版本,确保团队成员和不同的开发环境......