ES6 let和const和var的区别 let解决var的变量穿透问题 const解决var定义的常量能被修改问题 箭头函数 //箭头函数-重点(在未来的项目开发中:比如小程序,脚手架大量使用) //以前 var sum=function(a,b){ return a+b; } //改进 va
Proxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,在进行这些操作时,可以添加一些需要的额外操作。 1.使用proxy(),首先要实例化proxy()对象 let per = new Proxy(person,{}) person:第一个参数代
偶尔我们会使用一下js对象的深拷贝 直接上代码 先准备一个需要拷贝的 对象 var obj = { name:'小小叔', age:34, info: { hobby: ['travel', 'piano', {a:1}], career: { teacher:4,
1.普通函数中的this 总是代表着它的直接调用者,如obj.fn,fn里的最外层this就是指向obj 默认情况下,没有直接调用者,this指向window 严格模式下(设置了’use strict’),this为undefined 当使用call,apply,bind(ES5新增)绑定的,this指向绑定对象 call 方法第一个参数是this的指向,后面
ES6之Promise 是ES6引入的异步编程的新解决方案,非常重要。 语法上Promise是一个构造函数,所以我们需要结合new关键字来使用,它需要传一个函数作为参数,函数的形参是resolve和reject <script> new Promise((resolve, reject) => { setTimeout(()=>{ resol
1、写法 ES5写法 let fn = function(a,b){ return a + b; } let res = fn(1,2); console.log(res); // 3 ES6写法 let fn = (a,b) =>{ return a + b; } let res = fn(1,2); console.log(res); // 3 简写: 如果函数体只有一条语句是返回值, 则可以省略return 语句 ;直接写 let fn
三种声明变量的区别 var let const var:存在变量提升 全局变量 可以声明同名的变量 var 函数中不用var 声明变量 的话会存在内存泄露 let:不存在变量提升 块级作用域 就是解决var的变量提升的问题的 const:常量 常量的值 不允许被更改 只限于基本数据类型 栈内存 (堆
第1章 大觅顶目架何设计 第2章 大觅顶目中 ES6 的使用 第3章 大觅顶目的路由配置 第4章 初识 Vue.js 第5章 大觅顶目中与服务端通信 第6章 Vue.js 指令 第7章 组件详解 第8章 计算属性和侦昕器 第9章 大觅项目中插件的使用 第10章 大觅项目总结
数组新增的方法 1、array.forEach() 循环遍历数组中的每一项 let arr = [2, 3, 4, 5, 6, 7, 88]; let newArr = [] arr.forEach(function (item, index) { newArr.push(item*10); }); console.log(newArr);//[20, 30, 40, 50, 60, 70, 880] 2.array.map() 遍历数组, 返回的是
一、export命令 一个模块就是一个独立的文件,该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。 1.1 export输出变量的三种写法 创建一个profile.js文件,保存了用户信息。ES6 将其视为一个模块,里面用export命令对外部
任务 1 let和 con st命令 2 1.1 let命令 2.1.2 上机训练 2.1.3 const命令 任务2 变量的解构赋值 2.2.1 数组的解构赋值 2 2.2 对象的解构赋值 2.2.3 上机训练 任务 3 使用箭头函数 2.3.1 箭头函数起因 2.3.2 箭头函数定义 2.3.3 和普通函数的区别 2 3.4 箭头函数不适用场景 任务4
1.数组的方法 unshift() 数组头部添加内容 push() 数组尾部添加内容 pop() 数组尾部删除内容 shift() 数组头部删除内容 sort() 数组排序 a-b 升序 b-a 降序 reverse() 数组倒排序 splice()
1、形参初始值 给函数形参赋默认的初始值,例如c=10, 调用的时候,如果c传了值,就用传的值,没有,就用默认值 2、与解构赋值结合 解构赋值也可以设置形参初始值 没有传,就用默认,传了就用传的值 3、rest参数 上面的打印结果是一个对象 ...args 必写 这里打印的结果是一个数组,数
ES6模块化 回顾:node.js中如何实现模块化 node.js遵守了CommonJS的模块化规范。其中: 导入其他模块使用require()方法 模块对外共享成员使用module.exports对象 模块化的好处: 大家都遵守同样的模块化规范写代码,降低了沟通成本,极大方便了各个模块之间的相互调用,利人利己。 前端模
for of 是ES6版本发布的 在可在map 、set 、arguments上执行迭代 for in的效率没有for of 高 for in会遍历原型链上的所有属性 //可使用obj.hasOwnProperty(key) 只记录键
ES6简介 什么是ES6? ES的全称是ECMAScript,它是由ECMA国际标准化组织,制定的一项脚本语言的标准化规范。 年份 版本 2015年6月 ES2015 2016年6月 ES2016 2017年6月 ES2017 2018年6月 ES2018 ... ... ES6实际上是一个泛指,泛指ES2015及其后续的版本。 为什么使用ES6
闭包 变量作用域 变量根据作用域的不同分为两种:全局变量和局部变量。 函数内部可以使用全局变量。 函数外部不可以使用局部变量。 当函数执行完毕,本作用域内的局部变量会销毁。 什么是闭包 闭包(closure)指有权访问另一个函数作用域中的变量的函数。 -----JavaScript高级
ES5中的新增方法 ES5新增方法概述 ES5中给我们新增了一些方法,可以很方便地操作数组或字符串,这些方法主要包括: 数组方法 字符串方法 对象方法 数组方法 迭代(遍历)方法:forEach()、map()、filter()、some()、every(); forEach() array.forEach(function(currentValue,index,arr))
一、查找对象数组某个属性的最大值和最小值 查找List数组中对象的age属性的最大值 let List=[ { "id": 1, "name": "张三", "value": 20 }, { "id": 2, "name"
export let a = 1 export let c = 2 export let d = 3 export default { 'name': 'makuo', 'age':18 } #浏览器导入 <script type="module"> import m3 from './a.js' // 只能导入defalut的内容 是一个对象
1:var let const 变量提升 暂时性死区 块级作用域 重复声明变量 修改声明的变量 能用const b不用let 能用let不用var 2:数组新增的一些 扩展运算符... 将一个数组转换成逗号分割的参数序列 Array.from Array.of----转换成数组 find() findIndex()等方法 entries() keys() values()
1、回顾node.js中如何实现模块化? node.js遵循CommonJs的模块化规范 导入其它模块使用require()方法 模块对外共享成员使用module.exports对象 模块化的好处: 大家都遵守同样的模块化规范写代码,降低了沟通的成本,极大方便了各个模块之间的相互调用 2、前端模块化规范的分类 在
var: 函数级作用域,存在变量的提升,值可以更改 let:块级作用域,不存在变量的提升,值可以更改 const:块级作用域,不存在变量的提升,值不可以更改 变量提升: //变量提升 console.log(i) //undefined var i=10 //不是变量提升 console.log(i) //a is not find let i=10
Object.defineProperty()的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性 let Person = {} Object.defineProperty(Person, 'name', { value: 'jack', writable: true // 是否可以改变 })
ES6语法 1.var const let 区别 var的作用域是方法作用域,在方法外无法通过var定义的变量 const的作用域和let的作用域相同,是块作用域,只要出在同一个{}内都是可以被访问到的,两者的主要差别是const一旦被赋值就不再被改变,在vue中大部分情况下会用const,除非知道该变量值会改变。 2.