- 博客(28)
- 收藏
- 关注
原创 Vue响应式原理
当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是 Vue 不支持 IE8 以及更低版本浏览器的原因。这些 getter/setter ...
2019-07-24 20:21:06
254
原创 什么是mvvm
在这里插入代码片→ 垃圾回...
2019-07-21 20:26:16
284
转载 变量的结构赋值
变量的解构赋值数组的解构赋值基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。let a = 1;let b = 2;let c = 3;ES6 允许写成下面这样。let [a, b, c] = [1, 2, 3];上面代码表示,可以从数组中提取...
2019-07-02 21:48:00
287
转载 阮一峰的ES6---Generator函数的语法
基本概念generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。generator(发电机,发生者,生产者)Generator函数有多种理解角度,从语法上,Generator函数是一个状态机,封装了多个内部状态。执行Generator函数会返回一个遍历器对象,也就是说,Generator函数除了状态机,还是一个遍历器对象生成函数,返回的遍历器对象,可以依次遍历...
2019-07-02 20:47:26
323
原创 Ajax跨域请求.
1.*****实现跨域请求的方案--JSONP*******JSON with Padding,是一种借助于 script 标签发送跨域请求的技巧。其原理就是在客户端借助 script 标签请求服务端的一个地址,服务端的这个地址返回一段带有调用某个全局函数调用的 JavaScript 脚本(而非一段 HTML),将原本需要返回给客户端的数据通过参数传递给这个函数,函数中就可以得到原本服务端想要...
2019-06-28 22:18:03
208
原创 在async函数中使用axios
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script src="https://unpkg.com/axios/dist...
2019-06-25 16:24:24
602
原创 async函数-异常处理
// try-catch 是 JavaScript 的异常捕获代码// 就像 if-else 一样是 JavaScript 语法的一部分// 我们可以把可能有错的的代码放到 try 语句块中// 如果 try 中代码出错,则进入 catch// 这样会直接报错导致程序退出// JSON.parse('dsnajkbdkjsa')/** * try-catch 用于异常捕获 *...
2019-06-25 16:21:30
1273
原创 async函数的返回值
/** * Async 函数返回Promise */ async function main () { //如果是普通数据,那么会被包装为一个立即resolve的Promise对象 // return 123 // return Promise.resolve(123) return new Promise((resolve, reject) =>...
2019-06-25 16:12:05
18473
原创 async函数执行顺序
/** * Async函数能让你的 Promise 代码更简洁,this都可以省略了 * async函数,和普通函数一样 * await 后面要跟一个 Promise才有意义 * 1.等待Promise中resolve才会往后执行 * 2.如果resolve有参数,可以在await前面接收使用 * 任何函数都可以被标记为async * 箭头函数,命名函数,匿名函数 * A...
2019-06-25 16:09:58
1445
1
原创 ES7新增async-await
const fs = require('fs');let read = (path) => { return new Promise((resolve, reject) => { fs.readFile(path, 'utf-8', (err, data) => { err ? reject(err) : resolve(dat...
2019-06-25 16:03:13
345
原创 封装Promise异步读取文件
// 按顺序来读取a、b、c三个文件的内容const fs = require('fs');// 封装一个函数,实现异步读取文件let read = (path) => { return new Promise((resolve, reject) => { fs.readFile(path, 'utf-8', (err, data) => { ...
2019-06-25 15:59:30
803
原创 Promise(then)方法的链式调用
- then里面返回的结果,会被下一个then接收到 (没有太大意义)- ==then里面返回的如果是Promise,则下一个then收到的就是前面的Promise中resolve的结果==const fs = require('fs');let p = new Promise((resolve, reject) => { fs.readFile('./a.txt', 'ut...
2019-06-25 15:55:42
2990
原创 Promise简介和简单实用
Peomise简介- Promise对象可以解决回调地狱的问题- Promise 是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理和更强大- Promise可以理解为一个容器,里面可以编写异步请求的代码- 从语法上说,Promise 是一个对象,从它可以获取异步操作的消息- Promise简单使用- Promise是“承诺”的意思,实例中,它里面的异步操作就相当于一个...
2019-06-25 15:51:29
337
原创 回调地狱(就是让代码按照顺序执行)***Promise - ES6新对象
JS中或node中,都大量的使用了回调函数进行异步操作,而异步操作什么时候返回结果是不可控的,如果我们希望几个异步请求按照顺序来执行,那么就需要将这些异步操作嵌套起来,嵌套的层数特别多,就叫做回调地狱。下面的案例就有回调地狱的意思:案例:有 a.txt、b.txt、c.txt三个文件,使用fs模块按照顺序来读取里面的内容,代码:// 需要异步读取a、b、c三个文件,按照顺序来输出读取的结...
2019-06-25 15:30:55
464
1
原创 同步读取文件和异步读取文件的区别
是一个js文件const fs = require('fs');console.log(111);// 异步读取文件,这个./a.txt是一个文件,这里测试用来测试异步读取文件的。fs.readFile('./a.txt', 'utf-8', (err, data) => { console.log(data);//必须使用回调函数来接收});// 同步读取文件,可...
2019-06-25 15:14:06
4332
原创 本地存储(一般用来存储浏览器输入的账号密码,存储到浏览器中,来判断用户是否登录)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <script> // 本地存储就是把数据存储到浏览器中,浏览器的关...
2019-06-25 14:47:35
1081
转载 阮一峰ES6新语法( let 和 const )
let 和 const 命令let 命令基本用法ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1上面代码在代码块之中,分别用let和var声明了两个变量...
2019-06-22 18:12:56
593
原创 Vue(子传父-EventsUp)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>06-组件通信-子传父-EventsUp</title> <style> .com-a { padding: 5px; borde...
2019-06-20 21:39:22
292
原创 Vue($refs也可以引用一个dom)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>06-$refs也可以引用一个dom</title> <style></style> <!-- --></head>...
2019-06-20 21:36:35
306
原创 VUE(子传父)$refs的方式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>组件通信-父子通信-$refs</title> <style> .com-a { padding: 5px;...
2019-06-20 21:26:20
1146
原创 Vue(父传子PropsDown)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>04-组件通信-父传子-PropsDown</title> <style> .com-a { padding: 5px; bord...
2019-06-20 20:47:35
578
原创 VUE(局部组件)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>组件注册-局部组件</title> <style> .com-a, .com-b, .com-c, .com-e { padding: 5px;...
2019-06-20 20:37:10
1219
原创 VUE组件第一天(全局组件)
组件注册-全局注册 //组件也可以嵌套,记住,创建一个组件,在html就必须要用上Vue.component(‘com-b’, {template: <div class="com-b"> <p>Com-b 组件</p> <com-a></com-a> </div> }) **//组件之间还可以...
2019-06-20 20:27:01
170
原创 01简单的使用vue渲染数据
Document –> {{ 1+1 }} hello {{ foo }} {{ item.title }} <h2>判断</h2> <!-- v...
2019-06-15 21:27:07
912
原创 template 必须只能有一个根节点
在写组件的时候, 组件的模版 templatetemplate 必须只能有一个根节点举个例子: 这样是不行了,只能有一个根节点 比如这样是可以的
2019-06-15 20:31:44
2653
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人