web前端面试题

给body加宽度会不会出问题?

看到此问题时,自己也疑惑了,于是实践了一把。
结果是…
页面布局保持原来的样子,但是居左显示,
如果body的width值 大于 页面内容width值大的时候,此时页面会相对body的width值居中显示,并不是在整个可视区居中。
当你打开控制台查看时,就会发现body的width不是可视区的width,其实给body设置的width确实是存在的。

创建一个节点,还没加到页面时,如何添加事件?

//这是一段用jquery测试OK的代码,此处on()绑定,或者直接click()都OK。
//但是在将元素添加到页面之前不能获取到动态创建元素的属性
//原生js同理
var oDiv = $('<div></div>').attr('class','con');
 //success --成功
 oDiv.on('click',function(){   //先添加事件
     alert('ok');
 });
 $('body').append(oDiv);     //后添加到页面中

请求的方法有哪些?

jquery 定义了一个高级工具方法和四个高级工具函数,但这些高级工具都是基于一个强大的底层函数:jquery.ajax();

 方法一:
 //例出常用项
jquery.ajax({
        url:"要请求的数据地址",
        *type:"http请求的方法(GET/POST)", //默认是 GET ,还有DELETE,PUSH 然而不是所有浏览器都支持
        dataType:"请求的数据类型", //合法值有 text , html , script , json , jsonp , xml
        contentType:"指定请求的HTTP Content-Type头", //默认是 application/x-www-form-urlencoded   绝大部分服务器脚本使用的正常值 
         timeout:"设置请求超时时限,单位ms",//默认时间 0,永远不取消,除非请求完成 
         async:"是否异步",//false表示开启同步请求 
         //回调 
         beforeSend:function(){ 
             //ajax请求发送到服务器之前激活的回调函数 
         }, 
         complete:function(){ 
             //ajax请求完成时激活 
         }, 
         error:function(){ 
            //ajax请求不成功时调用,和timeout配合使用 
         }, 
         success:function(data){ //第一个参数data表示请求过来的数据,第二个参数是jquery状态码,第三个参数是用来发送请求的XMLHttpRequest对象 
             //ajax请求成功完成时调用 
         } 
     });

方法二:
load()方法:用来注册load时间的处理程序,如果传给该方法的第一个参数是函数而不是字符串,则load()方法是事件处理程序注册方法而不是ajax方法。该方法有点比较方便好用的一点是,如果只想显示被加载文档的一部分,可以在URL后面添加一个空格和jquery选择器。

例如: jquery.load('#temp').load('test.html #items');

方法三:
jquery.getScript()方法:参数一是URL,优点,同时适用于同源和跨源脚本。
同源和跨源请求下参数有不同。

方法四:
jquery.getJSON()方法:和方法三类似,但是此方法获取到脚本后不会执行它,而是将其解析为JSON,并且此方法只有在传入了回调函数时才有用。

方法五:
jquery.get() 和 jquery.post():获取指定URL内容。http请求不同。

http 请求头中有哪些信息?

请求方法、URI、协议版本、以及包含请求修 饰符、客户信息和内容的类似于MIME的消息结构。

缓存原理。

ajax在请求数据后将URL,和返回的结果数据保存在缓存内,当再次发送相同请求的时候,它会直接在缓存中取数据,这是为了提高页面响应速度和用户体验,当两次请求的URL和参数完全一样的时候,就不会去和服务器进行交互了。

性能优化

根据自己的遇到过的实际案例总结了几点:
结构语义化(虽然在低版本浏览器中不能很好兼容,不用管,使用的人群比例很小),目的是有利于搜索引擎,以及团队合作;
css,js文件数量和大小优化,根据目前web开发技术,可以对css,js进行压缩合并操作来实现;
做到结构,样式,行为三者分离,样式和行为能重复利用避免代码的重复性,原因是便于维护管理;
图片 尽量能用css sprites拼图,减少http的请求次数,对图片的大小进行合理的调整,提高访问速度;
把样式表至于html结构顶部,脚本至于html结构底部,减少dom操作,提高用户体验;

网络攻击有哪些?

主动攻击会导致某些数据流的篡改和虚假数据流的产生。这类攻击可分为篡改、伪造消息数据和终端(拒绝服务);

被动攻击中攻击者不对数据信息做任何修改,截取/窃听是指在未经用户同一和认可的情况下攻击者获得了信息或相关数据。通常包括窃听、流量分析、破解弱加密的数据流等攻击方式。

XSS攻击原理。

XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中,攻击者利用XSS漏洞旁路掉访问控制.

DOS攻击。

DOS攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备.

解答不足或不对的地方,还请各位多多指点出来,这是为我自己知识的一个积累,也为有需要的人提供思路
声明:部分引用他人或者书籍中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值