
javascript
caishi13202
一名标准的程序员,主要从事JAVAWEB相关的开发工作,平时喜欢打篮球,徒步。
展开
-
JS中RHS引用和LHS引用的区别
平时做前端开发的时候可能接触不到LHS和RHS这两个名词,但是它却是js中最基础的概念,表示两种变量的查找方式,在js代码中无处不在。我们来举个例子说明一下LHS和RHS。var a = 1; 我们把这个表达式根据等号拆成两个部分,var a 和 = 1。这个里面var a进行的LHS查找,编译器遇到var a时,会询问作用域是否存在一个名为a的变量,如果有则忽略,如果没有则让作用域声明一个...原创 2018-09-14 10:14:29 · 1338 阅读 · 0 评论 -
js中的eval和with
js中有两个方法可以改变词法作用域,eval(...)和with(...)。前者可以接受一段字符串代码来进行演算,并借此来修改已存在的词法作用域,后者本质上是通过将一个对象的引用当作词法作用域,将对象的属性当作作用域中的标识符来处理,从而创建一个新的词法作用域。首先我们来理解词法作用域的概念:图中的1和2分别表示两个作用域,这里的b变量只能在作用域1中找到,一般来说,变量所在的作用域都...原创 2018-09-14 11:38:47 · 631 阅读 · 0 评论 -
函数表达式()()和函数声明function的区别
()()表示立即执行一个函数表达式,拆分来看第一个括号里的是一个函数声明,第二个括号表示立即执行这个表达式,下面我们来理解一下什么是函数表达式和函数声明。区分函数表达式和函数声明的区别在于function的位置,如果function不是出现在一段函数的第一个词,那么这是一个函数表达式,若function是第一个词,则是一个函数声明。函数声明和函数表达式的区别有哪些呢?我们来看下面这一段代码:...原创 2018-09-14 14:37:15 · 800 阅读 · 0 评论