- 博客(10)
- 收藏
- 关注
原创 【块级作用域,同名函数,同名变量命名冲突的问题】
块语句中的 var 和 命名式函数会进行预解析。但块语句中的 命名式函数,不会预赋值,它会在进入块语句后迅速赋值为函数。如果块语句中出现变量 和 函数同名时,执行语句块 最后打印的是 正常顺序赋值的 变量 结果。但是在语句块外,打印的是 是最后一个同名函数上面的 赋值变量结果。如果语句块中 变量 和 函数名相同时,且只有一个变量和一个函数,函数在变量前时,最后打印的结果是函数,变量在函数前时,最后打印的结果是变量在块语句中,不管有几个同名函数,都会被最后一个同名函数覆盖掉。由以上特点推断,如果
2022-12-04 00:19:01
298
翻译 【js作用域链】
当一个块或函数嵌套在另一个块或函数中时,就发生了作用域的嵌套。因此,在当前作用域中无法找到某个变量时,引擎就会在外层嵌套的作用域中继续查找,直到找到该变量,或抵达最外层的作用域(也就是全局作用域)为止。注意:作用域嵌套,不是嵌套作用域也就是变量的访问机制。在某个作用域中使用,但不是在该作用域中声明的变量就是自由变量。上面的代码中,a 变量就是一个自由变量。也可以这样理解:凡是跨了自己的作用域的变量都叫自由变量。词法作用域:是指在作用域只和源代码有关,也就是说,在代码编写完毕后,变量的作用域已经确定
2022-12-04 00:00:34
84
翻译 【js执行上下文 ES5版】
从ES5 开始,对之前的执行上下文作了调整,变量对象和活动对象这些概念不再提了。其实就是换词儿了。用的是 Lexical Environment词法环境 和 Environment Record环境记录。也就是说,执行上下文(执行环境)还是有的,和 ES3 的基本一样,只不过执行环境的内容有些变化。创建执行上下文阶段,主要办3件事:1. this 值的决定,即咱们所熟知的 this 绑定。2. 建立 词法环境组件(Lexical Environment)。3. 建立 变量环境组件(Variable En
2022-12-03 23:40:34
146
翻译 【js执行上下文 ES3版】
创建执行上下文,主要做了 3件事。如果我们使用伪代码模拟一下它的结构的话,大致是这样的。一、变量对象 和 活动对象变量对象 :变量对象是执行上下文的一部分,在它之中保存着当前执行上下文中的变量和函数声明。该对象是隐式的,我们无法直接访问。对于浏览器上 JS 来说 或 全局执行上下文来说,变量对象其实就是 window 对象。活动对象 :对于函数来说,如果未被调用,则不会产生执行上下文,也就没有变量对象。不过当它被调用的时候,就需要了,此时变量对象相当于被激活了,所以我们称之为活动对象。它
2022-12-03 23:00:34
80
翻译 【js执行上下文】
执行上下文是指 JavaScript 代码被编译和执行时所在的环境,也可以称之为执行环境;JavaScript 中运行任何的代码都是在执行上下文中运行的。执行上下文:在 ES3、ES5 中都有不同的规定。所以也就流传了多种解释。其中 ES3 的解释流传最广(《JavaScript 高级程序设计》中使用了这种解释)。虽然这几种解释不太一样,但是无论哪一种,只要能搞明白,对我们 JS 的学习都会有很大的帮助。准确来说,执行上下文有三种类型,分别是:全局执行上下文、函数执行上下文、函数执行上下文。但是由
2022-12-03 12:38:31
627
翻译 【js作用域】
Scope,翻译成中文就是 范围 的意思,在编程语言中一般叫作用域。《JavaScript 权威指南》(第7版)第52页,是这样表述的:变量的作用域是程序源代码中的一个区域,在这个区域内变量有意义。作用域最大的用处就是隔离变量、防止命名冲突,各个作用域之间的变量是相互独立的,互不影响即使是同名变量,只要在不同的作用域内,他们就不会有冲突,避免变量污染。对于JS 来说,有三种作用域:全局作用域、函数作用域、和 块级作用域。一个页面打开就是一个全局作用域。用来定义全局变量。在 标签中定义的变量都是全局变量。
2022-12-03 12:05:16
94
原创 vuex
对vue应用中多个组件的状态进行集中式管理(读/写),也是一个种组件间通信的方式,概念专在Vue中实现集中式状态(数据)管理的一个Vue插件,且适用于任意组件间通信。
2022-07-19 11:09:35
211
原创 vue-router
1、一个路由(route)就是一组映射关系(key-value)2、key为路径,value可能是function或component3、多个路由需要路由器(router)进行管理传递参数的方式有两种动态路由的方式传递参数(常用params)也就是pathcurrent'用占位符来准备接收参数。此时只能用params形式传递参数因为query形式传递的参数current=1'和路径地址不匹配。query传递参数query会以查询字符串的形式传递。......
2022-07-19 01:26:03
279
原创 路由传参-相关问题
因为params参数属于路径地址当中的一部分,在配置路由的时候已经占位准备接收了。虽然可以通过name这个命名路由跳转到指定页面,但是URL路径地址解析不出来。那么在跳转的时候就必须传入一个params参数(并且值不能为空字符串)。路由跳转传递参数的时候,对象的写法可以是name、path形式。如果不传递params参数,发现一件事情,URL会出现问题。如果在配置路由的时候,在path配置项中使用了动态路由。在配置路由的时候在动态路由后面加上一个问号【?没有传递参数的URL。......
2022-07-18 17:48:50
1254
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人