当前位置: 首页 > news >正文

网站如何添加二维码社交网络推广方法有哪些

网站如何添加二维码,社交网络推广方法有哪些,b2c网站的网址有哪些,除了阿里巴巴还有什么网站做外贸的破坏性分配听起来很复杂。 它使我想起了面向对象的术语,例如封装和多态性 。 我相信选择它们是为了使简单的概念显得更加复杂! 本质上,ECMAScript 6(ES2015)的解构分配使您可以从数组或对象中提取单个项目,…

破坏性分配听起来很复杂。 它使我想起了面向对象的术语,例如封装多态性 我相信选择它们是为了使简单的概念显得更加复杂!

本质上,ECMAScript 6(ES2015)的解构分配使您可以从数组或对象中提取单个项目,然后使用速记语法将其放入变量中。 来自PHP的用户可能遇到了list()函数,该函数可以在一个操作中将数组提取为变量。 ES6将其提升到另一个层次。

假设我们有一个数组:

var myArray = ['a', 'b', 'c'];

我们可以通过ES5中的索引提取这些值:

varone   = myArray[0],two   = myArray[1],three = myArray[2];// one = 'a', two = 'b', three = 'c'

ES6解构允许使用更简单,更不易出错的替代方法:

const [one, two, three] = myArray;// one = 'a', two = 'b', three = 'c'

您可以忽略某些值,例如

const [one, , three] = myArray;// one = 'a', three = 'c'

或使用rest运算符( ... )提取剩余元素:

const [one, ...two] = myArray;// one = 'a', two = ['b, 'c']

销毁也适用于对象,例如

var myObject = {one:   'a',two:   'b',three: 'c'
};// ES5 example
varone   = myObject.one,two   = myObject.two,three = myObject.three;// one = 'a', two = 'b', three = 'c'// ES6 destructuring example
const {one, two, three} = myObject;// one = 'a', two = 'b', three = 'c'

在此示例中,变量名称onetwothree与对象属性名称匹配。 我们还可以将属性分配给任何名称的变量,例如

const myObject = {one:   'a',two:   'b',three: 'c'
};// ES6 destructuring example
const {one: first, two: second, three: third} = myObject;// first = 'a', second = 'b', third = 'c'

也可以引用更复杂的嵌套对象,例如

const meta = {title: 'Destructuring Assignment',authors: [{firstname: 'Craig',lastname: 'Buckler'}],publisher: {name: 'SitePoint',url: 'http://www.sitepoint.com/'}
};const {title: doc,authors: [{ firstname: name }],publisher: { url: web }} = meta;/*doc   = 'Destructuring Assignment'name  = 'Craig'web   = 'http://www.sitepoint.com/'
*/

这看起来有些复杂,但请记住在所有解构任务中:

  • 分配的左侧是销毁目标 -定义要分配的变量的模式
  • 分配的右侧是解构源 -包含要提取的数据的数组或对象。

还有其他一些警告。 首先,您不能以大括号开头的语句,因为它看起来像一个代码块,例如

// THIS FAILS
{ a, b, c } = myObject;

您必须声明变量,例如

// THIS WORKS
const { a, b, c } = myObject;

或如果已经声明了变量,则使用括号,例如

// THIS WORKS
({ a, b, c } = myObject);

您还应该注意混合声明和未声明的变量,例如

// THIS FAILS
let a;
let { a, b, c } = myObject;// THIS WORKS
let a, b, c;
({ a, b, c } = myObject);

这就是解构的基础。 那么什么时候有用? 我很高兴你问...

轻松申报

可以在不显式定义每个值的情况下声明变量,例如

// ES5
var a = 'one', b = 'two', c = 'three';// ES6
const [a, b, c] = ['one', 'two', 'three'];

诚然,解构后的版本更长。 读取起来稍微容易一些,尽管更多项目可能并非如此。

可变值交换

在ES5中交换值需要一个临时的第三个变量,但是它的解构要简单得多:

var a = 1, b = 2;// ES5 swap
var temp = a;
a = b;
b = temp;// a = 2, b = 1// ES6 swap back
[a, b] = [b, a];// a = 1, b = 2

您不仅限于两个变量; 可以重新排列任意数量的项目,例如

// rotate left
[b, c, d, e, a] = [a, b, c, d, e];

默认功能参数

假设我们有一个输出meta对象的函数:

var meta = {title: 'Destructuring Assignment',authors: [{firstname: 'Craig',lastname: 'Buckler'}],publisher: {name: 'SitePoint',url: 'http://www.sitepoint.com/'}
};prettyPrint(meta);

在ES5中,必须解析此对象以确保可以使用适当的默认值,例如

// ES5 default values
function prettyPrint(param) {param = param || {};varpubTitle = param.title || 'No title',pubName = (param.publisher && param.publisher.name) || 'No publisher';return pubTitle + ', ' + pubName;
}

在ES6中,我们可以为任何参数分配默认值,例如

// ES6 default value
function prettyPrint(param = {}) {

但是我们可以使用解构来提取值并在必要时分配默认值:

// ES6 destructured default value
function prettyPrint({title: pubTitle = 'No title',publisher: { name: pubName = 'No publisher' }} = {}
) {return pubTitle + ', ' + pubName;
}

我不认为这更容易阅读,但要短得多。

从函数返回多个值

函数只能返回一个值,但可以是复杂的对象或多维数组。 解构分配使此操作更加实用,例如

function f() {return [1, 2, 3];
}const [a, b, c] = f();// a = 1, b = 2, c = 3

迭代

考虑一系列书籍信息:

const books = [{title: 'Full Stack JavaScript',author: 'Colin Ihrig and Adam Bretz',url: 'http://www.sitepoint.com/store/full-stack-javascript-development-mean/'},{title: 'JavaScript: Novice to Ninja',author: 'Darren Jones',url: 'http://www.sitepoint.com/store/leaern-javascript-novice-to-ninja/'},{title: 'Jump Start CSS',author: 'Louis Lazaris',url: 'http://www.sitepoint.com/store/jump-start-css/'},
];

ES6的for-of与for-in相似,除了它提取每个值而不是索引/键,例如

for (const b of books) {console.log(b.title + ' by ' + b.author + ': ' + b.url);
}

销毁分配提供了进一步的增强,例如

for (const {title, author, url} of books) {console.log(title + ' by ' + author + ': ' + url);
}

正则表达式处理

诸如match之类的正则表达式函数返回匹配项的数组,这些项可以构成解构分配的来源:

const [a, b, c, d] = 'one two three'.match(/\w+/g);// a = 'one', b = 'two', c = 'three', d = undefined

解构分配支持

销毁工作可能不会改变您的开发生涯,但是可以节省一些打字工作!

目前, 对销毁分配的支持很好。 它可以在Node和所有主要浏览器中使用,Internet Explorer除外。 如果需要支持较旧的浏览器,建议使用Babel或Traceur之类的编译器,它将ES6的解构分配转换为等效的ES5。

From: https://www.sitepoint.com/es6-destructuring-assignment/

http://www.lbrq.cn/news/2503819.html

相关文章:

  • 用dw怎么做网站留言板深圳网络推广优化
  • 动漫做暧视频在线观看网站成都网站seo费用
  • 专门做搜索种子的网站有哪些嘉兴网站建设方案优化
  • 负责做网站的叫什么公司北京网站seo优化推广
  • 长沙网站关键词排名推广公司成都调查事务所
  • 华大基因 网站建设公司全网网站推广
  • 怎么做淘宝网站的网页设计网络推广渠道都有哪些
  • 南京做机床的公司网站百度客服中心人工在线咨询
  • 站长工具爱情岛推广普通话手抄报
  • 做暖暖视频网站大全百度云手机app下载
  • 杭州公司网站设计google chrome网页版
  • 政府网站建设管理总结网络营销推广方法
  • DW怎么做电商网站快速建站
  • 淄博企业高端网站建设今日足球比赛预测推荐分析
  • 日本做暖视频在线观看网站百度打广告收费表
  • 北京个人制作网站淘宝seo搜索优化
  • 广州建站模板厂家百度指数网页版
  • 设计头条app官方网站百度推广开户渠道
  • 网站做301排名会掉百度小说排行
  • 做网站文字怎么围绕图片外汇seo公司
  • 网站阵地建设企点qq
  • 重庆网站推广外包企业百度seo规则
  • 小企业网站建设公司抚顺网站建设
  • 做封面下载网站网站制作公司怎么样
  • 免费做销售网站查域名
  • 自己做的个人网站无法备案手机制作网页用什么软件
  • 普通电脑怎么做网站服务器吗seo优化操作
  • 阜宁城乡建设局网站自动交换友情链接
  • wordpress网站百度数据营销平台
  • cms建站系统介绍网站推广的方式
  • 1439-素数环2
  • JavaEE初阶第十二期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(十)
  • 论文阅读-IGEV
  • Java学习-------桥接模式
  • 实现网页访问/接口调用KernelMemory
  • 大模型面试回答,介绍项目