首先,我知道这篇文章很无聊,是关于 js 中的作用域和变量学习的总结。说的不痛不痒,单纯是学习笔记。昨天老师问我知道this和ES5、ES6是啥吗?问的我一头雾水,只知道this是一个对象。至于它们的用途一无所知,听他讲完之后渐渐明白一点儿。

逛论坛的时候看到了这样的一句话,确定this的值:“谁调用我,我就指向谁” 而this的值:只有在代码运行时,才能确定! 遵循:最小作用域最强原则 ,this—>指代对象—>谁调用this所在的函数,谁就是指代对象!this调用成员变量:this. ; this调用成员函数: this. ; this调用构造方法: this();
感觉无论是哪种编程语言,代码之间都是有相互联系在里面的,咳咳~一本正经的胡说八道。学习之前要弄清楚基本类型和引用类型的值,ES变量包含两种不同数据类型的值:基本类型值和引用类型值。比如在ES5中,js有两种形式的作用域:全局作用域和函数作用域。而在ES6当中新增了一个块级作用域(最近的大括号涵盖的范围),ES6(ES2015) 新增了 let 和 const 命令,但是仅限于let方式申明的变量。
一个变量的作用域(scope)是程序源代码中定义这个变量的区域。 全局变量拥有全局作用域,在javaScript代码中任何地方都有定义的。 然而在函数内声明的变量只是在函数内部有定义,他们是局部变量,作用域也只是在局部。
在es5中变量作用域分为两种:全局变量,局部变量; 局部变量:写在函数体内部,其中函数中所传递的参数也是局部变量(小括号中的),仅在定义的部分能够使用; 全局变量:写在函数体外部的变量,其中在函数中使用但未用var声明的变量也是全局变量,可以在全局中任何部分使用。
在函数体内,局部变量的优先级要高于全局变量。如果在函数体内重新声明一个与局部变量重名的变量,局部变量就会覆盖全局变量的值。

编程之路漫漫其修远兮,吾将上下而求索。FT╰(●’◡’●)╮