JavaScript之变量详解。
免费少儿编程开课啦,同学们好!今天分享的知识是对JS变量的深入讲解,主要知识点是let关键字、Var关键字、Const关键字定义变量的知识补充以及对块级概念的引入和讲解。这三个关键字中Let为新知识点,我就从这里开始讲起。
AcmLet也是用于定义变量的关键字,这点和Var有相同,不同之处在于Let关键字的作用域为块级,也就是只在某一块代码内生效。这块代码执行完成后,ALet声明的变量也就自动回收了。
那什么是块?简单来说就是两个大括号之间的内容就是一块。这样说有点抽象,我写了两个例子来帮你们理解。
·先理一下本示例的代码,一个文本框用来显示结果,在Onload事件中使用变量t1来引用,达到简写代码的作用。
·再做了两个按钮,分别用于调用GetVar和GetLet函数,用于显示Var和Let关键字变量的值。
这两个函数的内容几乎是一模一样的,只是在内部变量声明时分别使用了Var和Let的函数的内容也很简单,也为判断语句。如果括号内条件为真,就执行上面这块的代码。如果条件为force,执行钥匙中的代码。因为我这里写死了条件为处,所以一定是执行上面的代码。上面的代码也只有一句声明了一个变量。
然后在判断语句结束后试着去取出变量的值,如果成功就显示在文本框中,如果失败则显示出错。至于为什么要使用it,是因为it的这个部分也算是一个块,可以帮助你们理解块的定义。
还有类和方二的区别,看看效果,Var声明的值被成功取出来,而Let的值却显示代码出错了。这是因为Var的变量一旦声明,那在整个函数内都是可以使用的,而Let却在快结束时就已经回收了,当然取不出来值。
再说什么叫变量提升,我禁止你们这样使用,但你们需要知道这个知识点。所谓变量提升是指变量在其使用后再声明,编程器会将声明语句优先执行,但这也会导致代码逻辑混乱,不知所谓。只有Va声明的变量可以被提升,列服不行。
我演示一下,我先对这个变量赋值,然后再使用Const声明,可以看到提升成功,值被取出,而换为列声明时提升失败,提示出错。
·最后是看似常量,其实说常量也并不准确,但就这么理解。前章讲过Const声明后是不可以修改的,但其实也有例外。如果再次声明了一个常量对像,它有三个属性,注意这里cid值为0,而我在SetConst函数中试图对整个常量重新赋值,这显示是会失败的,那么它必然进入Catch块。
在这里我就不对整个常量赋值,而是修改了常量的Cid属性为1,再显示出来,最后显示的结果为1,很明显修改成功了。这说明对常量的整体修改或重新声明、赋值都是不行的。但当其内容为对像或数组时,其属性是可以修改的。
如果要讲还有变量的重置和重名覆盖,但用得太少就没必要了。而且我也不希望你们在同一区域内出现同龄的变量和常量,那样真是太蠢了。
今天的分享就到这里,各位同学可以在汇总文档中尝试修改数值来查看不同的效果,所有的案例及相关文档均可向我获取,我们下期见。想学编程点点关注吧。