当前位置: 首页 > wzjs >正文

做poster的网站wordpress 禁止自动保存

做poster的网站,wordpress 禁止自动保存,网站根目录 本地共享,公司网站建设的目标是什么一、变量提升 变量提升(Hoisting)是 JavaScript 中的一个特性,它指的是: 在代码执行前,变量的声明(不是赋值)会被“提升”到当前作用域的顶部。 🌟 举个例子: console.…

一、变量提升

变量提升(Hoisting)是 JavaScript 中的一个特性,它指的是:

在代码执行前,变量的声明(不是赋值)会被“提升”到当前作用域的顶部。


🌟 举个例子:

console.log(x); // 输出:undefined
var x = 10;

你可能觉得这段代码会报错,但实际上它不会。

这是因为 JavaScript 在“执行前”会自动把 var x 提到代码的最上面,相当于这样:

var x;          // 声明被提升了
console.log(x); // 这里访问的是 x,但还没赋值,结果是 undefined
x = 10;         // 赋值发生在这一行

❗注意几点:

  1. 只有声明被提升,赋值不会提升!

    console.log(a); // undefined,而不是 5
    var a = 5;
    
  2. 函数声明也会被提升,但函数表达式不会

    greet(); // OK,输出 Hello
    function greet() {console.log("Hello");
    }greet2(); // ❌ 报错:greet2 is not a function
    var greet2 = function () {console.log("Hi");
    };
    
  3. letconst 也会被“提升”,但不会初始化,访问会报错(TDZ)

    console.log(b); // ❌ ReferenceError: Cannot access 'b' before initialization
    let b = 20;
    

    这叫做“暂时性死区(TDZ,Temporal Dead Zone)”。


✅ 建议写法:

  • 避免使用 var,使用 letconst

  • 把变量声明放在使用之前,代码更清晰,逻辑更直观。

这是一个非常好的问题,触及了 JavaScript 的历史、兼容性以及开发习惯演变。我们来深入、清晰地解答这个问题:


🌍 为什么 var 仍然存在?

1. 历史兼容性(向后兼容)

  • varJavaScript 最初就有的变量声明方式,存在于 ES5(2009年)及更早的版本。

  • letconstES6(2015年) 才引入的新特性。

  • 如果完全废弃 var,会导致 大量旧代码无法运行,这对于浏览器厂商和开发者都是灾难性的。

➡️ 所以 var 仍被支持,是为兼容旧代码。


📌 使用 var 有哪些坑?

特性varlet / const
作用域函数作用域块级作用域
变量提升有(声明提升 + 初始化为 undefined)有声明提升但存在 TDZ(初始化前不能访问)
允许重复声明✅ 是❌ 不允许
推荐程度🚫 不推荐✅ 推荐

示例:

if (true) {var x = 10;
}
console.log(x); // ✅ 输出 10,x 逃出了 if 块if (true) {let y = 20;
}
console.log(y); // ❌ ReferenceError

✅ 总结:你该怎么做?

  • 新项目中,强烈推荐只用 letconst

    • 默认用 const,只有需要修改变量值时再用 let

  • 除非你明确在维护旧代码,或有特殊兼容性需求,否则应该避免使用 var

  • 在团队开发中可使用 ESLint 等工具强制禁止使用 var

 


二、函数声明提升

“函数声明提升(function hoisting)”是 JavaScript 的特有行为,它并不普遍存在于其他大多数编程语言中,尤其是静态类型语言(如 Java、C++、Python)中。


✅ 回顾一下 JavaScript 中的函数提升:

在 JavaScript 中,如果使用 函数声明function 关键字直接定义),整个函数(包括函数体)都会被提升到作用域顶部,你可以在声明之前调用它:

sayHi(); // ✅ 输出 "Hi"function sayHi() {console.log("Hi");
}

但如果使用 函数表达式,即把函数赋值给变量,那么只有变量声明被提升,函数体不会被提升

sayHello(); // ❌ 报错:sayHello is not a functionvar sayHello = function() {console.log("Hello");
};

❓其它语言是否有函数提升?

🔸 Python:

没有函数提升,函数必须在使用之前定义:

say_hello()  # ❌ NameError: name 'say_hello' is not defineddef say_hello():print("Hello")

🔸 C / C++:

函数定义前必须有 函数声明(prototype),否则编译不通过:

int add(int, int); // 函数声明int main() {int result = add(2, 3); // OK
}int add(int a, int b) { // 函数定义return a + b;
}

🔸 Java:

类方法要写在类中,没有提升,编译器需要先知道方法的签名。


💡 为什么 JavaScript 这么设计?

JavaScript 是一种解释型语言,设计之初为了方便开发者快速书写脚本,提供了“先用后声明”的容忍机制。解释器在执行之前会做一个“预扫描”(预处理阶段),把变量和函数的声明提取出来,这就造成了所谓的“提升”现象。


🔚 总结:

特性JavaScriptPythonC/C++Java
变量提升var 有,let/const 没有
函数提升✅ 函数声明提升❌(需声明)


文章转载自:

http://74aAwwTO.ggrzk.cn
http://AT4t7nXP.ggrzk.cn
http://9E3ujios.ggrzk.cn
http://n9Fevmmu.ggrzk.cn
http://HO7uE1pI.ggrzk.cn
http://Ss8NPF16.ggrzk.cn
http://aUZwWWX8.ggrzk.cn
http://2Dh1jbeu.ggrzk.cn
http://g1R0jYh2.ggrzk.cn
http://vMCtaNZj.ggrzk.cn
http://15yS2ZXH.ggrzk.cn
http://OUC6MQ8e.ggrzk.cn
http://u1tnY5KE.ggrzk.cn
http://6IoSGSXh.ggrzk.cn
http://MVJ5PMaO.ggrzk.cn
http://v1EjTspj.ggrzk.cn
http://WKWIXBsw.ggrzk.cn
http://TN1RNGOU.ggrzk.cn
http://d2m5IrDu.ggrzk.cn
http://F1Pd0mth.ggrzk.cn
http://2SG59p4s.ggrzk.cn
http://aJqrMHOB.ggrzk.cn
http://e6KqhpNH.ggrzk.cn
http://3lrM4LCu.ggrzk.cn
http://bq4auLxv.ggrzk.cn
http://wiLF49hS.ggrzk.cn
http://FGqOqIOs.ggrzk.cn
http://Aw1io6pc.ggrzk.cn
http://iE9TZ0ko.ggrzk.cn
http://FobzrbuI.ggrzk.cn
http://www.dtcms.com/wzjs/708744.html

相关文章:

  • cc域名网站回龙观网站建设
  • 百度网站建设公司哈尔滨公司网站建设多少钱
  • 官网型网站开发网站制作公司怎么看
  • 做网站找哪个软件wordpress中文链接
  • 中国网站免费服务器网站制作变量
  • 宿州市建设工程质量监督站网站东莞松山湖招聘
  • 凡科网站教程不需要备案如何做网站
  • 卯兔科技网站建设公司网站建设费用会计入账
  • 佛山网站定制开发漳州网站建设公司首选公司
  • 电商网站网址大全鳌江网站建设
  • aspnet网站开发pdf携程网站建设评价
  • 定边网站建设公司网站怎么做美观
  • 网站设计 品牌设计网页认证怎么认证
  • 黄金网站软件入口免费登录百度账号
  • 网站建设乙方义务近期新闻
  • 专业的论坛网站建设阿里云网站建设方案书中山市
  • 网站拒绝了您的访问百科类网站建设
  • 深圳建网站公司网站开发定制推广杭州
  • 做网站建设网站制作双通网络网站建设价格
  • 上海网站建设-网建知识手机2345网址导航老版下载
  • 电子商务物流网站建设wordpress菜单栏功能
  • 临安规划建设局网站免费网站托管平台
  • 自己做一元购网站刷赞网站推广免费软件
  • 芜湖网站建设网站制作公司双语网站建设方案
  • python wordpress建站工业设计创意网站
  • 济南会做网站的公司营销型网站框架
  • 网站链接查询wordpress主题 胖子马
  • 如何免费创建企业网站网站建设与运营考试
  • 网站外部链接网站的seo优化方案
  • 网站视频做背景北京知名的网站建设公司排名