javascript - 为什么(全局/函数/块)范围,javascript?
问题描述
所以最近我决定将我的职业道路从 PHP 开发人员转变为 MERN 堆栈开发人员,并转而使用 node.js 进行后端开发。重新开始 javascript 基础知识并遇到真正开始融化我的想法的范围:
为什么 -
在 php 中:
<?php
$var = "string";
if(true) {
$var = "string2";
}
echo $var;
返回字符串 2
在 c++ 中:
// Example program
#include <iostream>
#include <string>
int main()
{
std::string var = "string";
if(true) {
std::string var = "string2";
}
std::cout << var ;
}
返回字符串 2
但在 javascript 中:
let string = "string";
if(true) {
let string = "string2";
}
console.log(string);
返回字符串
javascript 使用变量范围编程和其他大型编程语言(如 c++、php)具有正常的机器类型变量范围的解释是什么?我的第一个猜测是 javascript 主要是前端语言和/或 javascript 异步工作。
解决方案
推荐阅读
- c++ - 如何从 C++ 头文件中导出函数
- html - 如何将 html 表格行中的数据发送到后端
- java - 如何使用 UI 本地时间格式从晚上 10 点到上午 9 点禁用按钮并显示警报对话框
- verilog - 在 Verilog 中如何将 1'b1 添加到 8 位 reg 中?
- android - Qt/Android/CMake:未考虑自定义 AndroidManifest.xml
- kubernetes - Kubernetes 容器从其他容器中抓取变量
- swift - 你可以在消失时为 SwiftUI 视图设置动画吗?
- sql - 修改 oledb 数据适配器更新命令
- spring-security - Spring LDAP Basic Auth缓存一些客户端但不缓存其他客户端
- json - 使用 jq 将带有可变键的嵌套 JSON 用于 TSV