19.07.22 ES6let和const

let声明的变量只在它所在的代码块有效。

不存在变量提升

// var 的情况
console.log(foo); // 输出undefined
var foo = 2;
// let 的情况
console.log(bar); // 报错ReferenceError
let bar = 2;

上面代码中,变量foo用var命令声明,会发生变量提升,即脚本开始运行时,变量foo已经存在了,但是没有值,所以会输出undefined。变量bar用let命令声明,不会发生变量提升。这表示在声明它之前,变量bar是不存在的,这时如果用到它,就会抛出一个错误。

if (true) {
  // TDZ开始
  tmp = 'abc'; // ReferenceError
  console.log(tmp); // ReferenceError

  let tmp; // TDZ结束
  console.log(tmp); // undefined

  tmp = 123;
  console.log(tmp); // 123
}

在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”
暂时性死区的本质就是,只要一进入当前作用域,所要使用的变量就已经存在了,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。

const声明一个只读的常量。一旦声明,常量的值就不能改变。

<think>好的,我现在需要帮用户解决关于OpenWrt 19.07.7版本更换软件源的问题。用户之前已经有过一次询问,并且我给出了更换软件源的步骤,现在他们提到特定的19.07.7版本,可能需要调整之前的教程以适应这个版本。 首先,我要确认用户当前的需求。他们需要更换软件源到19.07.7,可能之前使用的是19.07.6或者其他版本。根据用户提供的引用内容,用户之前参考了中科大的源,但需要调整版本号到19.07.7。同时,用户提到的引用中提到了不同的架构,比如mipsel_24kcx86_64,这说明用户可能使用的设备架构不同,需要根据具体情况调整。 接下来,我需要回顾之前的回答。之前的教程中,更换软件源主要是修改/etc/opkg/distfeeds.conf文件,替换为清华源的地址,并且提到了版本号架构的适配。现在用户需要的是针对19.07.7版本的教程,所以需要将版本号从之前的示例(比如21.02.0)更改为19.07.7,同时确认中科大源是否支持这个版本。 根据用户提供的引用[1],中科大源确实有19.07.6的版本,但用户需要的是19.07.7。我需要检查中科大或清华的镜像站是否存在19.07.7的软件源。如果不存在,可能需要使用其他镜像源,或者确认用户是否有正确的版本信息。例如,OpenWrt的版本发布可能19.07.7并未正式发布,或者可能用户混淆了版本号。需要进一步确认。 如果确认存在19.07.7版本,那么步骤之前类似,但需要替换版本号。同时,用户提到的架构如mipsel_24kc或x86_64,需要根据用户的设备类型进行调整。用户可能使用的是小米R3G路由器,根据引用[1]中的信息,小米R3G属于ramips/mt7621架构,对应的包路径可能类似。需要确保用户正确替换架构部分。 另外,用户引用的内容中提到可能需要修改/etc/opkg.conf文件,或者/etc/opkg/distfeeds.conf,这取决于具体的OpenWrt配置。在之前的回答中,我提到的是distfeeds.conf,但用户引用中提到了可能不同的文件,需要提醒用户检查自己的系统配置文件。 此外,用户可能需要知道如何查询当前的OpenWrt版本架构。之前的教程中提到了使用命令`cat /etc/openwrt_*`或者在Luci界面查看版本,需要再次强调这一点,确保用户能够正确替换版本号架构。 还需要注意,更换源后可能出现签名错误的问题,这在用户的相关问题中提到过。在更换源之后,可能需要更新签名或忽略签名检查,但最好建议用户使用可靠的镜像源以避免此类问题。 最后,确保步骤清晰,包括登录系统、修改配置文件、更新软件源、验证配置等,并且提供具体的示例,特别是针对19.07.7版本的配置示例。同时提醒用户注意架构适配,避免因为架构不匹配导致软件包无法安装。</think>### OpenWrt 19.07.7 更换软件源详细教程 #### 一、确定系统信息 1. **查看版本号** ```bash cat /etc/openwrt_release | grep "DISTRIB_RELEASE" # 或通过Luci界面查看:状态 -> 概览 -> 软件版本 ``` 确认输出为`19.07.7`,若实际版本不同需调整后续配置[^1]。 2. **查询设备架构** ```bash opkg print-architecture | grep arch ``` 典型结果示例: - 小米R3G(MT7621):`arch ramips_24kec` → **架构标识为`mipsel_24kc`** - x86设备:`arch x86_64` - ARM设备:`arch arm_cortex-a53`等[^1] --- #### 二、修改软件源配置文件 1. **定位配置文件** 根据系统差异,配置文件可能为: - `/etc/opkg/distfeeds.conf`(主流版本) - `/etc/opkg.conf`(部分旧版) ```bash # 检查文件内容 cat /etc/opkg/distfeeds.conf # 若为空或无内容,尝试检查/etc/opkg.conf ``` 2. **替换为中科大源(适配19.07.7)** 使用`vi`或`nano`编辑配置文件: ```bash vi /etc/opkg/distfeeds.conf ``` **替换为以下内容(以小米R3G为例)**: ```bash src/gz openwrt_core http://mirrors.ustc.edu.cn/openwrt/releases/19.07.7/targets/ramips/mt7621/packages src/gz openwrt_base http://mirrors.ustc.edu.cn/openwrt/releases/19.07.7/packages/mipsel_24kc/base src/gz openwrt_luci http://mirrors.ustc.edu.cn/openwrt/releases/19.07.7/packages/mipsel_24kc/luci src/gz openwrt_packages http://mirrors.ustc.edu.cn/openwrt/releases/19.07.7/packages/mipsel_24kc/packages src/gz openwrt_routing http://mirrors.ustc.edu.cn/openwrt/releases/19.07.7/packages/mipsel_24kc/routing src/gz openwrt_telephony http://mirrors.ustc.edu.cn/openwrt/releases/19.07.7/packages/mipsel_24kc/telephony ``` **关键参数说明**: - `19.07.7`:必须与系统版本完全一致 - `mipsel_24kc`:架构需匹配设备类型(参考第一步查询结果) - `ramips/mt7621`:设备芯片组路径(小米R3G专用)[^1] --- #### 三、更新与验证 1. **强制更新软件列表** ```bash opkg update # 若出现签名错误,可临时忽略验证(仅测试用) opkg update --no-check-certificate ``` 2. **验证可用性** ```bash opkg list | wc -l # 正常应显示800+软件包(完整镜像) # 尝试安装测试软件 opkg install nano ``` --- #### 四、常见问题解决 1. **"Package not found"错误** - 检查版本号是否完全匹配(如`19.07.7`≠`19.07.6`) - 确认镜像站目录结构:访问[中科大OpenWrt镜像](http://mirrors.ustc.edu.cn/openwrt/releases/)验证路径是否存在[^1] 2. **架构不匹配** - x86设备示例: ```bash src/gz openwrt_base http://mirrors.ustc.edu.cn/openwrt/releases/19.07.7/packages/x86_64/base ``` - ARM设备示例: ```bash src/gz openwrt_base http://mirrors.ustc.edu.cn/openwrt/releases/19.07.7/packages/arm_cortex-a53/base ``` --- #### 五、备份建议 ```bash # 备份原有配置 cp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak # 备份软件列表 opkg list-installed > installed_packages.txt ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值