HTML5技术

前端面试题 - 海*星(2)

字号+ 作者:H5之家 来源:H5之家 2017-07-10 09:10 我要评论( )

闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量 , 利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。

闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。可以把闭包简单理解成“定义在一个函数内部的函数”

闭包的特性

1.函数内再嵌套函数

2.内部函数可以引用外层的参数和变量

3.参数和变量不会被垃圾回收机制回收

 <ul>

    <li> index = 0</li>

    <li> index = 1</li>

    <li> index = 2</li>

    <li> index = 3</li>

</ul>

<script type="text/javascript">

    var nodes = document.getElementsByTagName("li");

    for(i = 0;i<nodes.length;i+= 1){

      nodes[i].onclick = function(){

      console.log(i+1);        //不用闭包的话,值每次都是4

        }(i);

    }

</script>

如何创建一个Ajax

(5)获取异步调用返回的数据

window.onload()方法是必须等到页面内包括图片的所有元素加载完毕后才能执行。

回答出概念即可,下面是几个要点

给需要拖拽的节点绑定mousedown, mousemove, mouseup事件

mousedown事件触发后,开始拖拽

mouseup时,拖拽结束

代码演示

    function Person() {

    }

    Person.prototype.sayName() { alert(this.name); }

    1) apply

    Person.prototype.sayName.apply(obj, [param1, param2, param3]);

    2) call

    Person.prototype.sayName.call(obj, param1, param2, param3);

    3) bind

    var sn = Person.prototype.sayName.bind(obj);    

    sn([param1, param2, param3]); // bind需要先绑定,再执行

   sn(param1, param2, param3); // bind需要先绑定,再执行

29iframe有那些缺点?

*搜索引擎的检索程序无法解读这种页面,不利于SEO;

*iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。

自己的做法

$.ajax({

dataType:’jsonp’

})

 

 

 

 

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Web前端面试指导(十九):CSS样式-如何清除元素浮动? - 轩子仔

    Web前端面试指导(十九):CSS样式-如何清除元素浮动? - 轩子仔

    2017-06-22 10:00

  • 记一次前端面试经历 - 渔歌

    记一次前端面试经历 - 渔歌

    2017-03-10 15:00

  • 一道面试题引发的对javascript类型转换的思考 - ChokCoco

    一道面试题引发的对javascript类型转换的思考 - ChokCoco

    2017-03-06 17:00

  • 前端面试知识 - 凌晨仨点来看妳

    前端面试知识 - 凌晨仨点来看妳

    2016-10-25 13:00

网友点评