您的位置:首页 > Web前端

web前端知识汇总81-100

2016-07-14 18:30 351 查看
81、HTML5新增哪些表单元素?

date、month、week、time、number、range、email、datalist、datetime、output、color、URL等

82、HTML5废弃了哪些HTML4标签?

font、frameset、noframe、frame、center、big、basefront、applet等

83、HTML5应用程序缓存和浏览器缓存有什么区别?

应用程序缓存是HTML5的重要特性之一,提供了离线使用的功能,让应用程序可以获取本地的网站内容,例如HTML CSS图片以及JavaScript。这个特性可以提高网站的性能,他的实现借助于manifest文件,如下:

<!DOCTYPEhtml>
<html manifest="example.appcache">
与传统浏览器缓存相比他不强制用户访问的网站内容被缓存。

84、空元素有哪些?
br、hr、img、input、link、meta、area、base、col、command、embed、Keygen、param、source、track

85、哪些操作会造成内存泄漏?

内存泄漏是指任何对象在不再拥有或需要它之后仍然存在

垃圾回收器定时扫描对象,并计算引用了每个对象的其他对象的数量,如果一个对象的引用数量为0(没有其他对象引用过该对象)或对该对象的唯一引用时循环的,那么该对象的内存即可回收

setTimeout的第一个参数使用字符串而非函数的话会引发内存泄漏

闭包、控制台日志、循环

86、什么时候会使用document.write()?

大多数生成广告代码依旧使用document.write()

86、解释变量声明提升

在js里定义了变量,存在于作用域链里,而在函数执行的时候会先把变量的声明进行提升,仅仅是把声明进行了提升,而其值的定义还在原来的位置

var
test=function(){
    alert(name);
    var name="jiejie";
    alert(name);
};
 test();
 vartest2=function(){
     var names;
     alert(names);
      names="hoho";
     alert(names);
 };
 test2();
运行结果分别为undefined      jiejie    undefined   hoho由此可见在函数执行时,把变量的声明提升到了函数的顶部,但其值的定义依旧在原来的位置

87、Function foo(){};这段代码为什么是不IIFE(立即调用的函数表达式)?

因为在解析器解析全局的function或者function内部function关键字的时候,默认是认为function声明而不是function表达式,如果你不显式告诉编译器,它默认会声明成一个缺少名字的function,并且抛出一个语法错误信息,因为function声明需要一个名字。

在下面加一个foo();就可以变成一个IIFE立即调用的函数表达式了

functionfoo(){
    console.log('hi');
}
 foo();
 

functionfoo(){
       console.log('foo');
   }
   foo();
   (function(){
       console.log('f1');
   }());
   ( function(){
       console.log('f2');
   })();
    varfu=function(){
        console.log('fu');
    }();
!function (){
    console.log('f3');
}();
以上都可是IIEF

88、请举出一个匿名函数的典型用例?

自执行函数(立即调用的函数表达式)

89、请解释.end()的用途
结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态

感觉和parent方法差不多,回到了他的父元素

<body>
<divid="div">
    <h1>jQuery中end方法</h1>
    <p>讲解jQuery中end方法</p>
</div>
<scripttype="text/javascript"src="jquery-1.8.3.js"></script>
<script>
   $("#div").click(function(){
       $(this).find('p').hide().end().hide();
       //$(this).find('p').end().hide();
       //$(this).find('p').hide();
   });
</script>
</body>
这段代码三种形式效果不一样,对end的理解就是之后的操作针对谁的归属问题,没有end就是对P操作,有end就是对div操作

90、http状态码(常见)

1==表示消息

2==表示成功

3==表示重定向

4==表示请求错误

5==表示服务器端错误

常见

200-请求成功一切正常

301-重定向,客户请求的文档在其他地方,新的URL在location头中给出,浏览器应该自动访问新地址

302-临时重定向

304-客户端有缓冲的文档并发出了一个条件性的请求。服务器告诉客户,原来缓冲的文档还可以继续使用

400-请求出现语法错误

403-资源不可用

404-无法找到指定位置的资源

405-请求方法对指定的资源不适用

500-服务器遇到了意料不到的情况,不能完成客户的请求

501-服务器不支持实现请求所需要的功能

91、XSS跨站攻击

XSS又叫CSS(cross site script),跨站脚本攻击。他指的是恶意攻击者往web页面里插入恶意HTML代码,当用户浏览该页面时,嵌入其中web里面的HTML代码会被执行,从而达到恶意攻击用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人会忽略其危害性。

XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞构造跨站语句。另一类是来自外部的攻击,主要指自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。

92、SQL注入

SQL注入就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令。

93、CSRF跨站请求伪造

CSRF是cross site request forgery的缩写,原理与XSS正好相反,XSS是利用合法用户获取其信息,而CSRF是伪造成合法用户发起请求

94、点击劫持

click Jacking 也被称为UI覆盖攻击。通过覆盖不可见的框架误导受害者点击

虽然受害者点击的是他所看到的页面,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面。这种攻击利用了HTML中<iframe>标签的透明属性

==============未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web前端