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

WordPress电影网宁波seo外包优化公司

WordPress电影网,宁波seo外包优化公司,用ps做网站画布一般建多大,惠州网红酒店深入理解 JavaScript 中的 void 运算符和 yield* 表达式 在 JavaScript 中,void 运算符和 yield* 表达式是两个功能独特但常被忽视的运算符。本文将详细介绍它们的用法和应用场景,帮助您更好地理解和运用这两个运算符。 目录 void 运算符概述void 运算…

深入理解 JavaScript 中的 void 运算符和 yield* 表达式

在 JavaScript 中,void 运算符和 yield* 表达式是两个功能独特但常被忽视的运算符。本文将详细介绍它们的用法和应用场景,帮助您更好地理解和运用这两个运算符。

目录

  1. void 运算符概述
  2. void 运算符的用法
  3. void 运算符的应用场景
  4. yield* 表达式概述
  5. yield* 表达式的用法
  6. yield* 表达式的应用场景

void 运算符概述

void 是一个一元运算符,用于计算一个表达式但不返回结果,总是返回 undefined。其语法为:

void expression;
void (expression);

总是返回undefined

// 总是返回undefined
const res = void(0)
console.log(res) // undefined

需要注意考虑void运算符的优先级,以下加括号的表达式的例子可以帮助你清楚地理解 void 操作符的优先级:

void 2 === "2"; // (void 2) === '2',返回 false
void (2 === "2"); // void (2 === '2'),返回 undefined

void 运算符的用法

1. 阻止默认行为

在 HTML 中,可以使用 void 运算符防止链接跳转,当用户点击一个以 javascript: 开头的 URI 时,它会执行 URI 中的代码,然后用返回的值替换页面内容,除非返回的值是 undefined。void 运算符可用于返回 undefined。例如:

<a href="javascript:void(0)">Click me</a>

当用户点击链接时,由于 void(0) 返回 undefined,页面不会发生跳转。

2. 执行表达式但不返回值(箭头函数中的使用)

可以用 void 运算符执行一个表达式,但忽略其返回值,尤其当函数返回值不会被使用的到时候,使用void来保证API改变的时候不会改变箭头函数的行为:

button.onClick = () => void someFunction();

3. 立即执行函数表达式(IIFE)

在某些情况下,可以使用 void 运算符包装一个函数,使其立即执行:

void function() {console.log("This is an IIFE");
}();

void 运算符的应用场景

  • 防止页面跳转:在 <a> 标签的 href 属性中使用,避免链接导致页面刷新或跳转。
  • 书签脚本(Bookmarklets):在书签中执行 JavaScript 代码,使用 void 确保不会导航到其他页面。
  • 消除返回值:执行一个表达式,但不关心其返回值。

yield* 表达式概述

yield* 是 ES6 引入的生成器(Generator)表达式,用于委托另一个可迭代对象或生成器函数。其语法为:

yield* iterable;

yield* 表达式的用法

1. 委托可迭代对象

function* generator() {yield* [1, 2, 3];
}for (let value of generator()) {console.log(value); // 输出 1, 2, 3
}

2. 委托另一个生成器

function* innerGenerator() {yield 'a';yield 'b';
}function* outerGenerator() {yield 'start';yield* innerGenerator();yield 'end';
}for (let value of outerGenerator()) {console.log(value); // 输出 'start', 'a', 'b', 'end'
}

3. 处理双向通信

yield* 不仅委托迭代,也委托双向通信(nextthrowreturn 方法):

function* delegatingGenerator() {console.log('Delegating to another generator');const result = yield* anotherGenerator();console.log('Delegation complete');return result;
}function* anotherGenerator() {const value = yield 'yielded from anotherGenerator';return value;
}const gen = delegatingGenerator();
console.log(gen.next());        // { value: 'yielded from anotherGenerator', done: false }
console.log(gen.next('result')); // { value: undefined, done: true }

yield* 表达式的应用场景

  • 组合生成器:将多个生成器组合在一起,形成复杂的数据生成逻辑。
  • 处理嵌套迭代:简化对嵌套可迭代对象的遍历。
  • 委托双向通信:在生成器之间传递 nextthrowreturn

总结

void 运算符和 yield* 表达式在 JavaScript 中提供了独特的功能。void 运算符用于执行表达式但忽略返回值,常用于防止默认行为或消除返回值。yield* 表达式用于在生成器函数中委托迭代,方便地组合和处理复杂的迭代逻辑。

http://www.tj-hxxt.cn/news/87850.html

相关文章:

  • 网站建设可行性方案模板万维网域名注册查询
  • 网站做百度推广有没有效果北京seo排名外包
  • 手机网站模板单页seo推广网址
  • 国内域名注册商排行榜seo引擎优化是什么
  • 单位做网站需要准备什么培训机构招生7个方法
  • 做网站哪便宜网页搜索引擎
  • php网站开发编程软件香港百度广告
  • 香港公司怎么在大陆做网站长春网站制作设计
  • 威海外贸建站网络营销策略的演变
  • 番禺网站建设方案seo技术网
  • 小程序分销怎么做好分销seo人员是什么意思
  • 淘宝上做淘宝客的网站网站快速刷排名工具
  • 珠宝网站开发中国培训网官网
  • seo插件wordpress重庆自动seo
  • 那些网站可以做公司的推广关键词seo公司
  • 支付网站开发费可以做无形资产青岛网站权重提升
  • 中国机械加工网18易8下4拉hu天津企业seo
  • 抖音是b2b还是b2c模式sem优化策略
  • wordpress访客明细谷歌seo优化排名
  • 班级网站做哪些方面类似58的推广平台有哪些平台
  • 杭州设计制作网站北京网站推广机构
  • 体育网站模版如何做好营销推广
  • 杭州模板网站制作方案开网站流程
  • 网站的邀请怎么做的爱用建站
  • 免费查企业信息的平台安卓内核级优化神器
  • 莱芜买房网站seo是什么技术
  • 北京 建设官方网站全网营销系统是不是传销
  • 惠州网站建设领头排名轻松seo 网站
  • 网站如何做快排2022最近的新闻大事10条
  • 重庆快速网站备案淄博新闻头条最新消息