您的位置:首页 > Web前端 > JavaScript

js常见问题

2017-04-13 22:13 197 查看
1.判断js中的数据类型


http://www.cnblogs.com/dushao/p/5999563.html
2.javascript的同源策略

同源是指:同协议,同域名,同端口

精髓:

它的精髓很简单:它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。

为什么要有同源限制?

我们举例说明:比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

在普通的Javascript应用中,我们可以修改Frame的href,或者IFrame的src,以实现GET方式的跨域提交,但是却不能访问跨域的Frame/IFrame中的内容。

3.水平垂直居中

a.  dispaly: table-cell; //此元素会作为一个表格单元格显示(类似<td>和<th>)
     vertical-align: middle; //把此元素放在父元素的中部

b.  positon: absolute;
     margin: auto auto;
     left: 0;right: 0;top: 0;bottom: 0;

c.  height: 20px;
     line-height: 20px; //垂直居中
     text-align: center; //文本居中

d.  position: fixed;//生成绝对定位,相对于浏览器窗口进行定位
     top: 50%;
     left: 50%; //实际在浏览器中的位置是偏向于右下角的,因此需要定义margin
     margin: -200px 0 0 -200px; //200px只是举例,并不为确定值

e.   position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(50px 50px); //使用transform进行2d转换即平移

f.    flex布局

4.js如何实现跨域

www.cnblogs.com/rainman/archive/2011/02/20/1959325.html

5.http缓存机制
http://www.cnblogs.com/chenqf/p/6386163.html
6.数组去重的实现
http://blog.csdn.net/bingkingboy/article/details/50987530
7.js排序算法的实现
http://www.cnblogs.com/dushao/p/6004883.html
8.new构建对象的本质

用 var anObject = new aFunction() 形式创建对象的过程实际上可以分为三步:
第一步是建立一个新对象;
第二步将该对象内置的原型对象设置为构造函数prototype引用的那个原型对象;
第三步就是将该对象作为this参数调用构造函数,完成成员设置等初始化工作。
new操作符具体干了什么呢?

 
(1)创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。
 
(2)属性和方法被加入到 this 引用的对象中。
 
(3)新创建的对象由 this 所引用,并且最后隐式的返回 this 。

9.javascript事件代理

当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的父节点而将事件委托给父节点来触发处理函数。这主要得益于浏览器的事件冒泡机制。具体可参考《javascript高级程序设计》p402。 http://blog.csdn.net/majian_1987/article/details/8591385
10.react性能优化
https://segmentfault.com/a/1190000006254212
11.页面性能优化
https://www.zhihu.com/question/21658448
雅虎准则:http://www.cnblogs.com/li0803/archive/2009/09/20/1570581.html

12.es6
https://github.com/fouber/blog/issues/3
13.http状态码
http://tool.oschina.net/commons?type=5
14.call()和apply()的区别,以及bind()的用法

《javascript高级程序设计》p116

15.css3动画 transform translate animation

transform: http://www.w3school.com.cn/cssref/pr_transform.asp
animation: http://www.w3school.com.cn/cssref/pr_animation.asp
16.位运算、逻辑运算



原因为:



位运算:1 | 2 = 3: 1的二进制为0001,2为0010,进行或||运算结果为0011即3

1 & 2 = 0 : 1的二进制为0001,2为0010,进行与&&运算结果为0000即0

17.tcp/ip协议
http://blog.csdn.net/samantha_wang/article/details/44241607    //有用,简单易懂

18.http协议 [post请求与get请求的区别] [输入url按下回车之后页面发生了什么]
http://www.cnblogs.com/ranyonsue/p/5984001.html    //有用,简单易懂

19.cors跨域资源共享
http://www.ruanyifeng.com/blog/2016/04/cors.html
20.bfc块级格式化上下文



bfc:http://www.jianshu.com/p/66632298e355

21.与闭包相关的一道有坑的题
https://zhuanlan.zhihu.com/p/25407758
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: