自用,复习用

本文详细介绍了HTML5的新特性,包括audio元素的使用、语音Web Speech API,以及重排(reflow)和重绘(repaint)的概念。接着探讨了计算机网络中的HTTP与HTTPS的区别、SSL加密流程,以及TCP/IP的三次握手和四次挥手。最后,文章讨论了JavaScript中的call()和apply()方法的用途和区别,以及Vue.js在单页面应用(SPA)中的应用和性能优化策略。
摘要由CSDN通过智能技术生成

HTML5新特性

HTML5 audio

1.使用语法

 <audio id="" :src="" ></audio>

2.属性:

  • src: 播放音频的路径

  • loop: 循环播放,true/false

  • autoplay: 自动播放,歌曲加载后可以自动播放,pc端支持,移动端不支持;

  • controls: 播放控制,使用该属性在浏览器上的展示audio自带的播放控件;

3.对象方法:

  • currentTime: 获取当前播放时间;

  • duration:获取音频的总时间

  • play:是否播放

  • pause:是否暂停

4.对象方法:

  • paly():播放音频

  • pause():暂停播放音频

  • load():重新加载音频

5.事件:

play、pause、loadstart、duratiobchange、progress、canplay、canplaythrough

 //以上事件可以通过事件监听进行处理
 document.getElementById('').play()

HTML5语音Web Speech API

1.分类:

  • 语音识别(Speech Recognition):语音转文字

  • 语音合成(Speech Synthesis):文字转语音

2.兼容性:

语音识别Chrome和Opera浏览器默认支持

语音合成charome、opera、edge、safari均支持

3.Speech Synthesis项目中实例:

 //语音播放
 let voice = new window.SpeechSynthesisUtterance('语音内容')
 //设置语音的播放速率
 alarmVoice.rate = 0.7
 window.speechSynthesis.speak(voice)
 //语音内容可进行替换,例如后端返回的信息进行拼接:某某发生某某类型的警报
 let alarmMessege = xxx+"发生"+ _xxx+"警报"

4.SpeechSynthesisUtterance:

speechSynthesis和SpeechSynthesisUtterance是语音合成Speech Synthesis API的核心。

SpeechSynthesisUtterance对象,主要用来构建语音合成实例,用于将指定文字合成对应的语音,也包含一些基本配置项

5.SpeechSynthesisUtterance基本属性:

  • SpeechSynthesisUtterance.lang:获取并设置说话的语言

  • SpeechSynthesisUtterance.pitch:获取并设置说话的音调(值越大越尖锐,越小越低沉)

  • SpeechSynthesisUtterance.rate:获取并设置说话的速度(值越大速度越快,越小速率越慢)

  • SpeechSynthesisUtterance.text:获取并设置说话时的文本

  • SpeechSynthesisUtterance.vioce:获取并设置说话的声音

  • SpeechSynthesisUtterance.volume:获取并设置说话的音量

6.SpeechSynthesisUtterance.text基本方法

  • speak() :将对应的实例添加到语音队列中

  • cancel():删除队列的所有语音,如果正在播放,则直接停止

  • pause():暂停语音

  • resume():恢复暂停的语音

  • getVoices():获取支持的语言数组,必须添加在voiceschanged事件中才能生效

startswith()

用于判断字符串是否以指定前缀开头,如果是返回true,否则返回false

 _.starsWith(img, 'http') 

关于reflow(重排、回流)和repaint(重绘)

reflow和repaint的区别:

  • reflow:浏览器需要去渲染,当它发现某个dom发生了变化不仅仅改变自身,会导致后面的元素位置全部改变并且影响了布局,则需要倒回去重新渲染;

  • repaint:不影响元素周围或者内部布局,只改变某个dom元素的颜色或者文字颜色,则会进行重绘

什么的时候会发生reflow?

  • 页面进行初始化的时候;

  • 对dom元素进行操作的时候(删除或者增加);

  • 改变dom元素的尺寸;

  • CSS的属性发生变化,例如display属性;

  • 页面的文本和图片等内容的改变

  • 浏览器窗口尺寸改变(resize事件)

如何减少reflow、repaint?

  • 避免在document上直接对dom进行操作

  • 集中对样式进行修改,通过className来进行样式的修改,通过classText属性设置样式值;

  • 尽量避免使用table布局,table布局中某个元素触发会导致所有其他元素reflow,若有table布局,可以设置table-layout:auto/fixed,可以使table一行行的渲染,缩小reflow的范围;

  • 将Layout属性值进行缓存,需要多次访问的在一次访问时先存储在局部变量中;

  • 避免在css里面写expression;

  • 权衡速度的平滑,比如实现一个动画,以1个像素为单位移动这样最平滑,但 reflow 就会过于频繁,CPU 很快就会被完全占用。但以3个像素为单位移动就会好很多。

计算机网络

1.HTTP和HTTPS相关

HTTP和HTTPS的区别:

  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值