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

做壁纸的网站网络推广发帖网站

做壁纸的网站,网络推广发帖网站,高端医院网站建设,移动终端网站建设1. 抛出异常的写法 抛出一个简单的字符串错误 throw Error2; // 抛出一个字符串抛出一个Error对象 throw new Error(出错了!);抛出一个自定义错误对象 function UserError(message) {this.message message;this.name "UserError"; } throw new User…

1. 抛出异常的写法

抛出一个简单的字符串错误

throw 'Error2'; // 抛出一个字符串

抛出一个Error对象

throw new Error('出错了!');

抛出一个自定义错误对象

function UserError(message) {this.message = message;this.name = "UserError";
}
throw new UserError("这是自定义错误。");

在函数中抛出异常

function divide(a, b) {if (b === 0) {throw new Error("除数不能为0。");}return a / b;
}
try {let result = divide(10, 0);console.log(result);
} catch (e) {console.error(e.message); // 输出 "除数不能为0。"
}

throw语句执行时,JavaScript会立即停止当前函数的执行并退出。如果没有try...catch语句来捕获这个异常,程序将会中断执行,并且异常会被传递到调用栈的上一层。如果异常在调用栈中没有被捕获,它最终会成为一个未捕获的异常,导致整个程序崩溃。

2.幂计算

使用 Math.pow()

老版本的方式

var base = 2;
var exponent = 3;
var result = Math.pow(base, exponent);
console.log(result); // 输出 8

使用 ** 运算符

新版本支持

let base = 2;
let exponent = 3;
let result = base ** exponent;
console.log(result); // 输出 8

3.发布订阅

在JavaScript中,发布订阅模式(Pub/Sub)是一种设计模式,它允许对象或组件之间进行更松散的耦合,从而提高代码的可维护性和扩展性。这种模式主要由以下两部分组成:

  1. 发布者(Publisher):负责发布事件(消息)的对象。
  2. 订阅者(Subscriber):负责订阅感兴趣的事件,并在事件发生时执行相应的操作。

3.1工作原理

  • 订阅(Subscribe):订阅者向一个中心调度中心(事件总线或消息队列)注册自己感兴趣的事件。
  • 发布(Publish):发布者发布事件到调度中心,调度中心会通知所有订阅了这个事件的订阅者。
  • 通知(Notify):调度中心将事件通知给订阅者,订阅者接收到通知后执行相应的处理函数。

3.2应用场景

发布订阅模式在JavaScript中非常常见,以下是几个典型的应用场景:

  1. 前端事件处理:如浏览器中的事件监听,用户与页面交互时(如点击、滚动等)会触发事件,而这些事件可以被不同的函数订阅和处理。
  2. 跨组件通信:在复杂的Web应用中,尤其是使用React、Vue、Angular等框架时,不同组件之间可能需要通信。发布订阅模式可以用来在组件之间传递消息,而不需要它们直接相互引用。
  3. 异步编程:在处理异步操作时,如Ajax请求、定时器、事件循环等,可以使用发布订阅模式来在异步操作完成后通知相关的函数或组件。
  4. 消息队列:在Node.js中,发布订阅模式常用于实现消息队列,处理各种I/O操作,如读写文件、数据库操作等。
  5. 插件和模块间的通信:在构建可扩展的应用时,插件或模块之间可能需要相互通信,而发布订阅模式提供了一种解耦的方式来实现这一点。

3.3示例代码

下面是一个简单的发布订阅模式的实现:

class EventEmitter {constructor() {this.events = {};}// 订阅事件on(event, listener) {if (!this.events[event]) {this.events[event] = [];}this.events[event].push(listener);}// 发布事件emit(event, ...args) {if (this.events[event]) {this.events[event].forEach(listener => listener(...args));}}// 移除事件订阅off(event, listenerToRemove) {if (this.events[event]) {this.events[event] = this.events[event].filter(listener => listener !== listenerToRemove);}}
}
// 使用示例
const eventEmitter = new EventEmitter();
// 订阅者A
eventEmitter.on('message', (data) => {console.log('订阅者A收到消息:', data);
});
// 订阅者B
eventEmitter.on('message', (data) => {console.log('订阅者B收到消息:', data);
});
// 发布者发布事件
eventEmitter.emit('message', 'Hello, world!');

在这个示例中,EventEmitter 类实现了一个简单的发布订阅系统,订阅者通过 on 方法订阅事件,发布者通过 emit 方法发布事件。当事件被发布时,所有订阅了该事件的订阅者都会收到通知。

4. map相关方法

has(key):查询是否有某个键。返回boolean
get(key):查询键对应value。
set(key,value):置入键值对

http://www.hrbkazy.com/news/19030.html

相关文章:

  • 做个政府网站要多少钱微信营销平台
  • 郑州做网站元辰郑州网站seo
  • 顺义区住房和城乡建设委员会网站网站优化+山东
  • php学校网站源码seo怎么优化方案
  • 软件工程考研要考哪些科目长春seo关键词排名
  • 别的网站做相关链接怎么做郑州关键词排名公司电话
  • 商城网站 没有什么文章 怎样优化淘宝指数查询
  • 有什么做图片赚钱的网站超级seo外链工具
  • 校园文化建设图片网站搜索引擎营销
  • aspcms网站模板google play官网入口
  • 建设网站需要用到哪些软件软件外包公司排行榜
  • 网站建立的研究方案互联网广告投放公司
  • 深圳网站建设找哪家好搜索关键词排行榜
  • 网站logo下载网站优化是什么意思
  • 产品展示网站建设关键词优化seo优化
  • 微信下载网址是多少深圳搜索引擎优化收费
  • 孝感网站建设专家网络的推广方式有哪些
  • wordpress分类目录和页面朝阳区seo技术
  • seo的形式有哪些seo 关键词优化
  • 学生为学校做网站附近哪里有计算机培训班
  • 用别人公司名字做网站违法么没广告的视频播放器app
  • 商丘企业做网站服务外包平台
  • 丹东东港seo网站推广杭州
  • 下载了模板如何做网站seo网络运营
  • 为什么网站上传都上传不成功站长工具收录
  • 做爰视频免费的网站seo推广工具
  • wordpress产品佣金什么建站程序最利于seo
  • 政府门户网站建设背景意义济南seo全网营销
  • 香港做的网站能在大陆备案么厦门网络关键词排名
  • 企业网站建设所需要的资料品牌推广方式