题目6:
如何获取元素的真实宽高?
<style>
.box {
width: 300px;
height: 200px;
margin: 0 auto;
border: 1px solid;
}
</style>
<div class="box"></div>
<script>
var box = document.querySelector(".box");
window.getComputedStyle(box).width //"300px"
//返回元素最终计算的宽度
window.getComputedStyle(box).height //"200px"
//返回元素最终计算的高度
</script>
题目7:
URL 如何编码解码?为什么要编码?
编码:
- encodeURI()
- encodeURIComponent()
解码:
- decodeURI()
- decodeURIComponent()
区别
encodeURI方法不会对下列字符编码
- ASCII字母
- 数字
- ~!@#$&*()=:/,;?+'
encodeURIComponent方法不会对下列字符编码
- ASCII字母
- 数字
- ~!*()'
*所以encodeURIComponent比encodeURI编码的范围更大。
作用
encodeURI('http://book.jirengu.com/fe/前端基础/Javascript/bom.html')
/*
"http://book.jirengu.com/fe/%E5%89%8D%E7%AB%AF%E5%9F%BA%E7%A1%80/Javascript/bom.html"
访问这个URL,用 encodeURI() 函数,
把中文或其他的特殊字符编码,让浏览器能识别整段URL
*/
encodeURIComponent("http://book.jirengu.com/fe/前端基础/Javascript/bom.html")
/*
"http%3A%2F%2Fbook.jirengu.com%2Ffe%2F%E5%89%8D%E7%AB%AF%E5%9F%BA%E7%A1%80%2FJavascript%2Fbom.html"
把这个URL放入到另一个URL中的时候,就要用 encodeURIComponent() 函数了,
因为需要把 / = ? 这些特殊字符也编码,否则就容易出问题
*/
题目8:
补全如下函数,判断用户的浏览器类型
function isAndroid(){
return /Android/i.test(navigator.userAgent)
}
function isIphone(){
return /iphone/i.test(navigator.userAgent)
}
function isIpad(){
return /ipad/i.test(navigator.userAgent)
}
function isIOS(){
return /ios/i.test(navigator.userAgent)
}
网友评论