网站首页 > 教程文章 正文
哈喽,小伙伴们大家好,我是雷工!
每日学习一点点,今天继续学习JavaScript基础知识,下面是学习笔记。
1、变量的本质
内存:计算机中存储数据的地方,相当于一空间。
变量的本质:是程序在内存中申请下来一块用来存放数据的空间。
2、let与var的同与不同
2.1、相同点
2.1.1、let和var都属于关键字。
2.1.2、let和var都是用来定义变量的。
2.2、不同点
2.2.1、let定义变量的时候,必须先定义后使用。
2.2.2、var定义的变量,可以先使用后定义。
2.2.3、let定义的变量名不能重复(在同一个作用域中)。
2.2.4、var定义的变量名可以重复。
3、全局作用域
全局(在函数之外)声明的变量具有全局作用域。
示例:
var myName=“雷工笔记”;
//此处的代码能够使用 myName
function myFunction(){
//此处的代码能够使用 myName
}
全局变量可以在JavaScript程序中的任意位置使用。
4、函数作用域
局部(相对于函数外,指函数内)声明的变量具有函数作用域。
示例:
//此处的代码不能够使用 myName
function myFunction(){
var myName=“雷工笔记”;
//此处的代码能够使用 myName
}
//此处的代码不能够使用 myName
局部变量只能在它们被声明的函数内使用。
5、JavaScript块作用域
用 var 关键字声明的变量木有块作用域。
在块{}内声明的变量也可以从块外访问。
示例:
{
var myName="雷工笔记";
let yourName="盗墓笔记";
}
//此处可以访问myName,不可以访问yourName;
6、重新声明变量
用var 重新声明变量会引起问题。
在块中重新声明变量也会重新声明块外的变量。
示例:
var myName="雷工笔记";
//此处myName为雷工笔记
{
var myName="盗墓笔记";
//此处myName为盗墓笔记
}
//此处myName为盗墓笔记
使用let 重新声明变量可以避免这个问题。
在块中重新声明不会重新声明块外的变量。
示例:
let myName="雷工笔记";
//此处myName为雷工笔记
{
let myName="盗墓笔记";
//此处myName为盗墓笔记
}
//此处myName为雷工笔记
这里原因其实还是因为var没有块的概念,在循环中使用时也会出现类似的问题。
7、后记
通过上边记录可以发现既然let是为了解决var的一些问题才出现的,那我们肯定要选择使用let。
就像平常使用的软件,肯定选择使用最新版本,毕竟大多数情况升级是为了应用更方便、弥补之前版本中发现的BUG才升级。
猜你喜欢
- 2025-01-14 js中const,var,let三种区别
- 2025-01-14 var、let、const定义JavaScript变量常量
- 2025-01-14 JavaScript中let、const和var的使用介绍
- 2025-01-14 javascript中const/let/var的用法区别及使用场景
- 2025-01-14 一文了解let、const与var的区别
- 2025-01-14 Vue进阶(四十二):var、let、const三者的区别
- 2025-01-14 JS:定义变量的var、let有何操作?(360°无死角)
- 2025-01-14 JavaScript 中 var, let, const 的区别?
- 2025-01-14 JavaScript let 与var 区别及var弊端
- 最近发表
-
- esbuild:一款快 10-100 倍的 JS 打包 / 压缩工具
- ESM 内功心法:化解 require 中的夺命一击!
- webpack中exportsFields和mainFields的用法
- Rust cargo 命令行工具使用教程(rust指令怎么用)
- Axios CORS 问题处理(axios设置cors)
- Nodejs 第七十四章(微服务)(nodejs微服务是什么)
- 11个web前端开发人员必备的在线工具,功能强大,值得收藏
- 新一代Python包管理工具来了(python community包)
- 开发者提示工程实用指南(工程师开发使用中)
- 软件构建工具汇总与选择指南(软件构造工具)
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)