- 博客(7)
- 收藏
- 关注
原创 闭包的知识
闭包 如何产生闭包? 当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数中的变量(函数)时,就产生了闭包。 function done(){ var a = 100 funciton fun(){ console.log(a) //这里引用了外部函数的变量,就有了闭包。 } return fun //返回一个函数 } 闭包到底是什么? 维基百科中的描述太长,我们看个简单易懂的。 闭包在JavaScript高级程序设计(第3版)中是这样描述:闭包是指有权访问另一个函数作用域中的变量的函数
2021-08-05 19:51:05
220
原创 执行上下文
执行上下文 看一组例子: 这三句代码里。第一句代码,a没有定义过,报错很正常。第二第三句,a显示的都是undefined,说明我们知道a被定义过了,但是找不到a的值。但是我们对a的定义其实是在console.log(a)之后的,代码如果一句一句从上到下执行其实是不会定义好a的。 那我们其实知道,能够定义a是因为var定义的变量能够进行变量提升。也就是可以先声明变量但是不赋值。 不单单是我们的变量会这样。函数定义时也有不同。 我们可以看到,第一种函数声明方式里,我们直接能够把函数进行赋值。但是用var给
2021-08-05 19:50:22
160
原创 runtime-compiler和runtime-only的区别
runtime-compiler和runtime-only的区别 这两者的区别其实只在main.js文件中 runtime-compiler: new Vue({ el: '#app', components: { App }, template: '<App/>' }) runtime-only: new Vue({ el:'#app', render: h => h(App) }) runtime-only中使用了箭头函数,翻译成我们熟悉的函数模式就是: rend
2021-04-22 21:01:00
109
原创 #箭头函数和this指向
箭头函数和this指向 箭头函数也是一种定义函数的方式,是ES6中有的语法。 语法: const 函数名称 = (参数列表) => { 函数内容 } 箭头函数和参数返回值 参数问题: 双参数 const sum = (sum1,sum2) =>{ return num1+num2 } 单参数: const power = (num) =>{ return num*num } const power = num =>{ return num*num }
2021-04-22 21:00:21
109
原创 webpack ES6转ES5的babel
webpack ES6转ES5的babel 如果我们编写文件时用了很多ES6语法,那浏览器识别时有可能有的就不认识。 所以我们希望webpack在打包的默认文件bundle.js中如果发现了ES6代码可以自动转成ES5的代码,这时候就可以用babel工具。 我们就也需要在webpack中安装一个babel-loader npm install --save-dev babel-loader@7 babel-core babel-preset-es2015 配置webpack.config.js modu
2021-04-20 15:43:35
242
原创 创建Vue时template和el的关系
创建Vue时template和el的关系 我们在做项目时其实在html文件中并不会写什么东西,顶多可能就写个 <div id="app"> </div> 那很多代码在HTML中就没地方写,哪怕是像一些什么 <h2> {{message}} </h2> <template> ..... </template> 连这些都不会在html中写,那我们其实就要把这些时常更换的代码写到js文件的new Vue实例中去 我们可以在n
2021-04-20 15:42:55
281
原创 ES6模块化的导入和导出
ES6模块化的导入和导出 导出(export) 防止重名冲突 <script src="./aaa.js" type="module"></script> <script src="./bbb.js" type="module"></script> ==type=“module”含义就是这两个js文件都是按照模块化思想来使用有自己单独的作用域,不会有任何冲突。==但是也有问题。几个模块中数据不能轻易交互。 但是我们可以通过别的手段来使各模块互相访问,就靠exp
2021-04-14 19:32:59
293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人