JS30-Day23-Speech Synthesis
一个将输入的文字转语音的实作,还可以控制音调和速度
重点整理
1. SpeechSynthesisUtterance
为 Web Speech API,可以藉由它读出指定的文字,还可以设定语言,音量,音调
範例:
const msg = new SpeechSynthesisUtterance();
MDN 介绍
2. SpeechSynthesis
为 Web Speech API,上面提到 SpeechSynthesisUtterance 是可以输出语音,调整音量,音调和选择语言,那么 SpeechSynthesis 就是用来控制语音的拨放和暂停及移除语音资讯的 API
MDN 介绍
JS30-Day29-Countdown Clock
建立一个倒数计时器
重点整理
1. new Date() vs. Date.now()
透过这个实作重新複习一次两者取出的值
new Date()
取出的是有星期几,年月日几点几分几秒的格式,而 Date.now()
取出的是从现在的时间到 1970 年 1 月 1 日开始的毫秒数值
new Date()
内也可以放置 timestamp,取得过去的时间
2. 可以使用属性 name 来绑定监听事件
<form name="customForm" id="custom"> <input type="text" name="minutes" placeholder="Enter Minutes"></form>
这里使用表单名字 customForm 绑定监听事件
document.customForm.addEventListener('submit', function(e) { e.preventDefault(); // ...});
JS30-Day30-Whack A Mole Game
最后一天!实作一个打地鼠的游戏
重点整理
1. e.isTrusted()
判断事件是否由使用者操作而触发,若是则为 true,若是由程式码或是透过 EventTarget.dispatchEvent()
来触发,则为 false
MDN 介绍:
https://developer.mozilla.org/zh-TW/docs/Web/API/Event/isTrusted
全部练习的程式码都在此连结:
https://github.com/a90100/JavaScript30