摘要:迭代器西红柿孙双双结果西红柿孙双双生成器西红柿炒蛋结果西红柿孙双双模版字符串普通字符串多行字符串字符串中嵌入变量函数的参数默认值之前,当未传入参数时,操作符当被用于迭代器中时,它是一个操作符当被用于函数传参时,是一个操作符当被用于函
迭代器 - Iterators
{
"use strict"
function chef(foods){
let i = 0;
return {
next(){
let done = (i >= foods.length);
let value = !done ? foods[i++]:undefined;
return{
value:value,
done:done
}
}
}
}
let wanghao = chef(["西红柿","孙双双"]);
console.log(wanghao.next());
console.log(wanghao.next());
console.log(wanghao.next());
}
结果:
{value: "西红柿", done: false}
{value: "孙双双", done: false}
{value: undefined, done: true}
{
"use strict"
function* chef(){
yield "西红柿";
yield "炒蛋";
}
let wanghao = chef();
console.log(wanghao.next());
console.log(wanghao.next());
console.log(wanghao.next());
}
结果:
{value: "西红柿", done: false}
{value: "孙双双", done: false}
{value: undefined, done: true}
{
// 普通字符串
let str = `In JavaScript "
" is a line-feed.`;
console.log(str);
// 多行字符串
let str2 = `In JavaScript this is
not legal.`;
console.log(str2);
// 字符串中嵌入变量
let name = "liushi";
window.location.href = `http://www.baidu.com?name=${name}`;
}
函数的参数默认值
// ES6之前,当未传入参数时,text = "default";
function printText(text) {
text = text || "default";
console.log(text);
}
// ES6;
function printText(text = "default") {
console.log(text);
}
Spread / Rest 操作符
当被用于迭代器中时,它是一个 Spread 操作符:
function foo(x,y,z) {
console.log(x,y,z);
}
let arr = [1,2,3];
foo(...arr); // 1 2 3
当被用于函数传参时,是一个 Rest 操作符:当被用于函数传参时,是一个 Rest 操作符:
function foo(...args) {
console.log(args);
}
foo( 1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]
for...of 和 for...in
{
//返回值
let letters = ["a", "b", "c"];
letters.size = 3;
for (let letter of letters) {
console.log(letter);
}
// 结果: a, b, c
//返回键,es6
let stus = ["Sam", "22", "男"];
stus.size = 3;
for (let stu in stus) {
console.log(stu);
}
// 结果: 0,1,2,size
}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/96990.html
摘要:循环语句一般循环方法注意在使用遍历数组之前一定要判断数组是否已经定义用的方法遍历数组对对象操作为对象的键用的方法总结来说总是得到对像的或数组字符串的下标而和一样是直接得到值。所以,不能对象用循环循环 循环语句 一般for循环 { let array = [1,2,3,4,5,6,7]; for (let i = 0; i < array.length; i++) ...
摘要:判断自身属性是否存在方法返回一个布尔值,判断对象是否包含特定的自身非继承属性。 判断自身属性是否存在 hasOwnProperty()方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。 { let obj = {a:1,b:2}; obj.hasOwnProperty(a) } 返回结果:true
摘要:与用来赋值的奇怪用法如果存在,反之则相当于注意强烈要求注意一下,如果的值为,那么就要详细的考虑一下,因为千万不要玩脱了与判断奇偶隐式返回值注意一哈,这里是括号 && 与 || 用来赋值的奇怪用法 o_0 let a = x || y; // 如果 x 存在, a = x,反之则 a = y;相当于 if(x){ let a = x; ...
摘要:返回结果注意方法返回的是数组长度,如上示例,返回值为方法把一个或多个参数插入到数组头部,返回数组长度。整数,规定添加删除项目的位置,使用负数可从数组结尾处规定位置。返回值类型描述包含被删除项目的新数组,如果有的话。 数组去重 ...set(array)去重 { let array = [aa,12,aa,16,12,ab]; function dedupe(array)...
摘要:前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点分为新闻热点开发教程工程实践深度阅读开源项目巅峰人生等栏目。背后的故事本文是对于年之间世界发生的大事件的详细介绍,阐述了从提出到角力到流产的前世今生。 前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎...
阅读 924·2023-04-25 20:47
阅读 2774·2019-08-30 15:53
阅读 1245·2019-08-26 14:05
阅读 1061·2019-08-26 11:59
阅读 1861·2019-08-26 11:43
阅读 1967·2019-08-26 10:57
阅读 1535·2019-08-23 18:23
阅读 3257·2019-08-23 12:57