网站盗号怎么做,网上推广平台哪个好,做网站哪个公司可以做,商场网站建设模板1. 抛出异常的写法
抛出一个简单的字符串错误
throw Error2; // 抛出一个字符串抛出一个Error对象
throw new Error(出错了#xff01;);抛出一个自定义错误对象
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); // 输出 83.发布订阅
在JavaScript中发布订阅模式Pub/Sub是一种设计模式它允许对象或组件之间进行更松散的耦合从而提高代码的可维护性和扩展性。这种模式主要由以下两部分组成
发布者Publisher负责发布事件消息的对象。订阅者Subscriber负责订阅感兴趣的事件并在事件发生时执行相应的操作。
3.1工作原理
订阅Subscribe订阅者向一个中心调度中心事件总线或消息队列注册自己感兴趣的事件。发布Publish发布者发布事件到调度中心调度中心会通知所有订阅了这个事件的订阅者。通知Notify调度中心将事件通知给订阅者订阅者接收到通知后执行相应的处理函数。
3.2应用场景
发布订阅模式在JavaScript中非常常见以下是几个典型的应用场景
前端事件处理如浏览器中的事件监听用户与页面交互时如点击、滚动等会触发事件而这些事件可以被不同的函数订阅和处理。跨组件通信在复杂的Web应用中尤其是使用React、Vue、Angular等框架时不同组件之间可能需要通信。发布订阅模式可以用来在组件之间传递消息而不需要它们直接相互引用。异步编程在处理异步操作时如Ajax请求、定时器、事件循环等可以使用发布订阅模式来在异步操作完成后通知相关的函数或组件。消息队列在Node.js中发布订阅模式常用于实现消息队列处理各种I/O操作如读写文件、数据库操作等。插件和模块间的通信在构建可扩展的应用时插件或模块之间可能需要相互通信而发布订阅模式提供了一种解耦的方式来实现这一点。
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)置入键值对