草庐IT

let 与 var 关键字

var关键字在块级作用域中使用var声明变量,外面同级的块级作用域也可以访问。if、switch、for等语句的作用域都没有块级作用域,所以说,在这些语句中声明的变量都能被外界访问,这是非常不安全的。functionf(){if(true){varx=10;}console.log(x);//=>10}在if语句中通过var定义的变量,能够被外界访问。然而,在Java中是不允许的:而JavaScript只有函数才能创建一个块级作用域,也可以用IIFE函数来创建一个块级作用域。functionf(){(function(){if(true){varx=10;}})();console.log(x

let 与 var 关键字

var关键字在块级作用域中使用var声明变量,外面同级的块级作用域也可以访问。if、switch、for等语句的作用域都没有块级作用域,所以说,在这些语句中声明的变量都能被外界访问,这是非常不安全的。functionf(){if(true){varx=10;}console.log(x);//=>10}在if语句中通过var定义的变量,能够被外界访问。然而,在Java中是不允许的:而JavaScript只有函数才能创建一个块级作用域,也可以用IIFE函数来创建一个块级作用域。functionf(){(function(){if(true){varx=10;}})();console.log(x

js有了var为什么还要有let和const?

为什么javascript中有那么多声明变量的方式,明明是弱类型的语言,确有三个关键字?最早的是var,这是es6之前的声明方式,既然有了var为什么还要有let和const呢?原因很简单,这是因为var有一些问题不够方便。首先是作用域,在一个函数内只要声明一个var,内部可以任意调用,比如创建一个for循环使用var和let的效果。作用域的区别var声明之后函数内所有的都可以调用他(var只有全局作用域和函数作用域没有块级作用域)let只会在块级作用域调用会报错()function作用域(){for(varvar1=0;var1functionprint_one(){if(true){var

js有了var为什么还要有let和const?

为什么javascript中有那么多声明变量的方式,明明是弱类型的语言,确有三个关键字?最早的是var,这是es6之前的声明方式,既然有了var为什么还要有let和const呢?原因很简单,这是因为var有一些问题不够方便。首先是作用域,在一个函数内只要声明一个var,内部可以任意调用,比如创建一个for循环使用var和let的效果。作用域的区别var声明之后函数内所有的都可以调用他(var只有全局作用域和函数作用域没有块级作用域)let只会在块级作用域调用会报错()function作用域(){for(varvar1=0;var1functionprint_one(){if(true){var

使用 Certbot 申请 Let's Encrypt SSL 证书,并定时续期

网站有个SSL证书,可以提高安全性、及提高搜索引擎的排名。Let’sEncryptSSL证书是免费的,可以用命令行申请,也可以用命令行续期。Let’sEncrypt网站推荐用cerbot工具。这个工具软件在不同的年份,有不同的用法(可能是不同软件版本的命令行,参数与之前版本改动较大),网上查到的往往行不通。这篇文章介绍当前版本可用的命令行参数使用方法。 参考网站:https://letsencrypt.org/zh-cn/https://certbot.eff.org/instructionsa.申请有通配符的域名SSL证书:certbotcertonly-d*.somedomain.com-

使用 Certbot 申请 Let's Encrypt SSL 证书,并定时续期

网站有个SSL证书,可以提高安全性、及提高搜索引擎的排名。Let’sEncryptSSL证书是免费的,可以用命令行申请,也可以用命令行续期。Let’sEncrypt网站推荐用cerbot工具。这个工具软件在不同的年份,有不同的用法(可能是不同软件版本的命令行,参数与之前版本改动较大),网上查到的往往行不通。这篇文章介绍当前版本可用的命令行参数使用方法。 参考网站:https://letsencrypt.org/zh-cn/https://certbot.eff.org/instructionsa.申请有通配符的域名SSL证书:certbotcertonly-d*.somedomain.com-

变量 var let 与const

var  var声明范围是函数作用域  var声明提升:使用var声明的变量会自动提升到函数作用域的顶部,此外使用var重复声明同一个变量也没有问题,因为“提升”会将所有变量声明都拉到函数作用域的顶部,此时JavaScript引擎会自动将多余的声明在作用域顶部合并为一个声明,所以反复声明同一个变量也没有问题。  例如:console.log(age)//18varage=18 1varage=18;23vartime=2022;45console.log(age);//1867console.log(time);/20228910varage,time;11age=18;12time=2022

变量 var let 与const

var  var声明范围是函数作用域  var声明提升:使用var声明的变量会自动提升到函数作用域的顶部,此外使用var重复声明同一个变量也没有问题,因为“提升”会将所有变量声明都拉到函数作用域的顶部,此时JavaScript引擎会自动将多余的声明在作用域顶部合并为一个声明,所以反复声明同一个变量也没有问题。  例如:console.log(age)//18varage=18 1varage=18;23vartime=2022;45console.log(age);//1867console.log(time);/20228910varage,time;11age=18;12time=2022

JavaScript var let const的区别

视频链接:JavaScriptvarletconst的区别-Web前端工程师面试题讲解参考链接:JavaScript变量JavaScriptLetJavaScriptConst练习网站:codepen.io初步认识:功能实现HTML的部分:发表评论JS的部分://首先要要我想弄一个评论功能,//通过document.querySelector获取到HTML中input标签的type属性为"text"的输入框的部分//于是赋值给这个var变量text,该变量就成类似容器一样的存在vartext=document.querySelector("input[type='text']");varbut

JavaScript var let const的区别

视频链接:JavaScriptvarletconst的区别-Web前端工程师面试题讲解参考链接:JavaScript变量JavaScriptLetJavaScriptConst练习网站:codepen.io初步认识:功能实现HTML的部分:发表评论JS的部分://首先要要我想弄一个评论功能,//通过document.querySelector获取到HTML中input标签的type属性为"text"的输入框的部分//于是赋值给这个var变量text,该变量就成类似容器一样的存在vartext=document.querySelector("input[type='text']");varbut