目录
一、display:none和visibility:hidden的区别
十、nodejs中关于module.exports和exports的区别和使用方法
十一、请使用node.js起一个Http服务器,并给客户带返回信息helloworld监听端口为3000
十五、在根目录下的app.js配置路由,当浏览器访问localhost:3000时渲染views文件夹下的index.ejs页面
一、display:none和visibility:hidden的区别
display:none 和visibility:hidden都可以实现让元素隐藏的效果,但原理是大不相同
1.display:none是让这个元素失去块元素的效果,其本身这个元素也是直接消失,会影响到布局问题。
2.visibility:hidden:可以让元素消失,属于css样式,它只是简单的让元素看不见,但本身的位置还在,如果对div进行hidden,那么div除了看不见,其他所有的样式都在。
二、cookie、sessionStorage和localStorage的区别
1.相同点是都是保存在浏览器端、且同源的。
2.cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。
3.存储大小限制也不同,cookie数据不能超过4K,同时因为每次http请求都会携带cookie、所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。这里需要注意的是cookie的数据大小是指单个cookie的大小,而localStorage的大小是单个域名localStorage所占用的大小总和。
4.数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭之前有效; localStorage:始终有效,窗口或浏览器关闭也—直保存,因此用作持久数据,除非用户主动删除; cookie:只在设置的cookie过期时间之前有效,即使窗口关闭或浏览器关闭。
5.作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面; localstorage在所有同源窗口中都是共享的; cookie也是在所有同源窗口中都是共享的。
三、C/S和B/S两种架构区别
一、C/S 架构
优点:
- C/S架构的界面和操作可以很丰富。
- 安全性能可以很容易保证,实现多层认证也不难。
- 由于只有一层交互,因此响应速度较快。
缺点:
- 用面窄,通常用于局域网中。
- 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
- 维护成本高,发生一次升级,则所有客户端的程序都需要改变。
一、B/S 架构
优点:
- 客户端无需安装,有Web浏览器即可。
- BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强.
- BS架构无需升级多个客户端,升级服务器即可。
缺点:
- 在跨浏览器上,BS架构不尽如人意。
- 表现要达到CS程序的程度需要花费不少精力。
- 在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
- 客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。
四、Html5 常见的新增API详解
- getElementsByClassName()方法
- classList 属性
- 自定义数据属性
- outerHTML 属性
- insertAdjacentHTML()方法
五、使用面向对象写一个选项卡
<body>
<div id="div1">
<input class="active" type="button" value="A">
<input type="button" value="B">
<input type="button" value="C">
<div style="display: block;">AAAAA</div>
<div>BBBBB</div>
<div>CCCCC</div>
</div>
</body>
<style>
#div1>input{background: white;}
#div1 input.active{
background: yellow;
}
#div1 div{
width: 200px;
height: 200px;
background-color: #CCC;
display: none;
}
</style>
<script>
window.onload=function(){
var oDiv = document.getElementById('div1');
var btn = oDiv.getElementsByTagName('input');
var aDiv = oDiv.getElementsByTagName('div');
for(var i=0;i<btn.length;i++){
btn[i].index=i;
btn[i].onclick=function(){
for(var j=0;j<btn.length;j++){
btn[j].className='';
aDiv[j].style.display='none';
}
this.className='active';
aDiv[this.index].style.display='block';
}
}
}
</script>
六、盒子模型基本概述
1.什么是盒子模型。
盒子模型是把HTML中元素看作为一个矩形盒子,相当于一个装内容的容器。
2.盒子模型的组成。
一个盒子由外到内可以分成四个部分:margin(外边距)、border(边框)、padding(内边距)、content(内容)
七、CSS的4种引入方式和优先级
一、CSS的四种引入方式如下:
- 第一种:内联(行内)引入( 不推荐用 样式结构没分离)
- 第二种:内嵌引入 (前期学习的时候用)
- 第三种:外联(链接)引入 (以后项目或者工作中都会分开)
- 第四种:导入样式@import引入(不建议使用)
二、四种CSS引入方式优先级
- 就近原则
- 理论上:行内>内嵌>链接>导入
- 实际上:内嵌、链接、导入在同一个文件头部,谁离相应的代码近,谁的优先级高
八、css选择器的分类及优先级计算方法
一、css选择符分类
- 标签选择器(如:body,div,p,ul,li)
- 类选择器(如:class="head",class="head_logo")
- ID选择器(如:id="name",id="name_txt")
- 全局选择器(如:*号)
- 组合选择器(如:.head .head_logo,注意两选择器用空格键分开