JavaScript编码解码与定时器用法详解

0 下载量 68 浏览量 更新于2024-08-30 收藏 43KB PDF 举报
"javascript常见用法总结,包括js解码和编码以及setInterval和setTimeout的使用" 在JavaScript中,编码和解码是处理字符串时经常遇到的任务,特别是在与HTML和URL交互时。`encodeURI()` 和 `decodeURI()` 函数是JavaScript提供的一对函数,用于对URI(统一资源标识符)进行编码和解码。 1. **编码和解码** - **`encodeURI()`**: 此函数用于编码一个完整的URI,但不编码某些特殊字符,如冒号、斜杠、问号和井字号,因为这些字符在URI中具有特定含义。在示例代码中,当点击“编码后”按钮时,`encodeURI()` 将`<span id="span1">疯汉三雄起了!</span>` 的内容编码为可在URL中安全传递的格式。 - **`decodeURI()`**: 反之,`decodeURI()` 用于解码之前被 `encodeURI()` 编码过的URI。当点击“解码后”按钮时,原始文本将被正确还原。 2. **`setInterval` 和 `setTimeout`** - **`setInterval()`**: 这个函数用于周期性地执行某个函数或表达式,间隔时间由用户指定(以毫秒为单位)。例如,在另一个HTML文档中,我们看到: ```javascript var time = 10; var id = 0; function gel(id) { return document.getElementById(id); } function startTimer() { id = setInterval(function() { time--; gel('timer').innerHTML = time; if (time == 0) clearInterval(id); }, 1000); } ``` 这段代码设置了一个定时器,每秒钟减少`time`的值并在页面上显示,直到`time`为0时清除定时器。 - **`setTimeout()`**: 相比之下,`setTimeout()` 只会执行一次指定的函数或表达式,延迟的时间由用户设定。这个函数常用于延迟执行某项操作,例如: ```javascript setTimeout(function() { alert('Hello, world!'); }, 3000); // 延迟3秒后弹出对话框 ``` 在这个例子中,3秒后会显示一个包含文本“Hello, world!”的警告框。 这两个函数在JavaScript中都是很重要的,它们允许开发者实现动态更新、定时任务和其他基于时间的交互功能。然而,需要注意的是,`setInterval` 如果不手动清除,会持续执行,可能会导致性能问题;而`setTimeout` 是一次性执行,不会持续运行。在实际开发中,根据需求选择合适的函数是非常重要的。