35、请叙述你所知道的所有的本地存储方案,并列出有什么区别? 36、如何获取昨天和明天的日期,格式年月日 37、写一个正则表达式,将文本中的非法关键词变成^ *** ? 如文本字符串为:老师说一加一等于几都不知道,他是不是笨蛋? 如何利用正则表达式替换笨蛋为“****** ? 38、如何监听文件的上传进度百分比? 39、如何实现点击鼠标右键显示自定义菜单 ? 即菜单标题 菜单项1 alt+1 心菜单项2 alt+2 ●菜单项3 ctrl+] 日菜单项4 shft+y 菜单项5 回菜单项6 菜单项7 40、什么是事件冒泡,如何阻止事件冒泡? 41、如何判断对象{name:'张三’}有没有name属性?
时间: 2023-03-02 16:45:57 浏览: 101
35、本地存储方案包括Cookie、Web Storage(包括localStorage和sessionStorage)、IndexedDB、Web SQL和Cache API等。它们的区别主要在于存储容量、数据存储位置、数据存储时效性和使用方式等方面。
36、获取昨天和明天的日期可以使用JavaScript中的Date对象,先获取当前日期,再进行加减操作即可。示例代码如下:
```javascript
const today = new Date(); // 获取当前日期
const yesterday = new Date(today); // 获取昨天日期
yesterday.setDate(today.getDate() - 1);
const tomorrow = new Date(today); // 获取明天日期
tomorrow.setDate(today.getDate() + 1);
const y = yesterday.getFullYear();
const m = yesterday.getMonth() + 1;
const d = yesterday.getDate();
console.log(`${y}-${m}-${d}`); // 显示昨天日期
const ty = tomorrow.getFullYear();
const tm = tomorrow.getMonth() + 1;
const td = tomorrow.getDate();
console.log(`${ty}-${tm}-${td}`); // 显示明天日期
```
37、将文本中的非法关键词变成^ *** 的正则表达式为:`/\b笨蛋\b/g`,使用JavaScript的replace方法进行替换即可,代码如下:
```javascript
const str = '老师说一加一等于几都不知道,他是不是笨蛋?';
const replacedStr = str.replace(/\b笨蛋\b/g, '******');
console.log(replacedStr); // 老师说一加一等于几都不知道,他是不是******?
```
38、要监听文件上传进度百分比,可以使用XMLHttpRequest对象发送Ajax请求,并设置其onprogress事件监听器。该事件监听器将在上传过程中定期调用,并传递一个ProgressEvent对象,其中包含有关上传进度的信息,例如上传完成的百分比和已上传的字节数等。示例代码如下:
```javascript
const xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
xhr.upload.onprogress = function (event) {
if (event.lengthComputable) {
const percentComplete = (event.loaded / event.total) * 100;
console.log(percentComplete + '% uploaded');
}
};
xhr.send(formData);
```
39、实现点击鼠标右键显示自定义菜单,可以通过在鼠标右键点击时触发事件,并在该事件中创建并显示一个HTML元素,作为自定义菜单。代码示例如下:
```html
<!-- HTML代码 -->
<div id="context-menu" style="display: none;">
<div class="menu-item" data-key="1">菜单项1</div>
<div class="menu-item" data-key="2">菜单项2</div>
<div class="menu-item" data-key="3">菜单项3</div>
<div class="menu-item" data-key="4">菜单项4</div>
<div class="menu-item" data-key="5">菜单项5</div>
<div class="menu-item" data-key="6">菜单项6</div>
<div class="menu-item" data-key="7">
阅读全文