1.当HTML中有多个相同id,document.getElementById获取到的是()Dom对象
答案:是第一个Dom对象
2.编写js代码实现对对象obj=[x:1,y:{a:2,b:{c:3,d:4}}]所有值的遍历
var obj={x:1,y:{a:2,b:{c:3,d:4}}}
function Fun(obj){
for(var i in obj){
typeof(obj[i])=='object'?Fun(obj[i]):console.log(obj[i])
}
}
Fun(obj)//1 2 3 4
3.jq用什么获取form表单中的所有密码框元素
<form action="" id="aaa">
<input type="password">
<input type="password">
</form>
<form action="" id="bbb">
<input type="password">
<input type="password">
</form>
$("#aaa :password").css('background','red')
重点代码: $(":password")
4.Dom事件流的三个阶段:目标,捕获,冒泡
5.前端SPA指的是:单页面应用
6.css实现三角形
.kailong{
width:0;
height:0;
border-right:50px solid transparent;
border-left:50px solid transparent;
border-bottom:50px solid red;
}
注:向上的不设置向上的属性,向哪边不设置哪边。
7.jq获取窗口宽度
$(window).width()
原生:document.documentElement.clientWidth
8.水平垂直都居(不定宽高)
父级{
position: relative;
}
子集{
position:absolute;
left: 50%;
top:50%;
transform: translate(-50%,-50%);
}
.........................................................................
父级{
position: relative;
}
子集{
position:absolute;
left:0;
top:0;
bottom: 0;
right: 0;
margin: auto;
}
...........................................................................
{
display:flex;
justify-content:center;
align-items:center;
}
9.css3新增的属性
渐变,动画,阴影,背景
10.Html5新增标签
<audio>,<video>,<header>,<nav>,<canvas>,<footer>,<time>,<section> (简单的说)
11.HTML标签语义化,简单来说,就是让标签有含义,给某块内容用上一个最恰当最合适的标签,使页面有良好的结构,页面元素有含义,不论是谁都能够看懂这块内容是什么,并且有利于搜索引擎。
标签语义化的好处:
1. HTML结构清晰
2. 代码可读性较好
3. 无障碍阅读
4. 搜索引擎可以根据标签的语言确定上下文和权重问题
5. 移动设备能够更完美的展现网页(对css支持较弱的设备)
6. 便于团队维护和开发
现在很多大型公司的前端很注重标签语义化,团队组员能够很好的理解页面结构,便于维护,不必再焦头烂额的猜测这部分代码代表什么内容,省下了许多没必要的时间,所以在以后的页面设计中,慢慢的将使用语义化标签养成一中习惯,可以方便很多人。
12.实现以下的效果console.log('hello',repeat(3)) //hellohellohello
String.Proptype.repeat=function(){
return (new Array(num+1)).join(this)
}
console.log('good'.repeat(3))
13.将某字符串重复3遍
var str='hello'
console.log(str.repeat(3)//hellohellohello
...........................................................
function repeatFun(str,num){
var NewStr=''
for(var i=0;i<num,i++){
NewStr+=str
}
return NewStr
}
console.log(repeatFun(hello,3))
14.cookie和web 本地储存的区别(localStorage,sessionStorage)
a.存储大小
本地存储官方说法是 5M 的大小,然而 Cookies 的存储大小4k
b.存储的位置不同
cookie存储的内容会保留在http的header中,并且会随着每次请求发送到浏览器。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存,浏览器请求过程不会发送到服务端。
c.存储时间
localStorage是做长久储存用的,若不手动清除是长久存在的,sessionStorage当浏览器关闭或浏览器标签页关闭的时候就会消失, cookie设置过期时间则是过期时间消失,否则是当浏览器关闭的时候消失
d.作用域不同
sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;
localStorage 在所有同源窗口中都是共享的;
cookie也是在所有同源窗口中都是共享的。
用法
localStorage.getItem(key)//存储数据
localStorage.setItem(key, value)//取数据
localStorage.removeItem(key)//删除指定的数据
localStorage.clear()//清除所有的localStorage存储
sessionStorage.getItem(key)//存储数据
sessionStorage.setItem(key, value)//取数据
sessionStorage.removeItem(key)//删除指定的数据
sessionStorage.clear()//清除所有的sessionStorage数据存储