发表于: 2016-09-06 23:33:17

0 1891


  • 今天完成的事情:看面试题


  1. 明天计划的事情:继续


    遇到的问题:


收获:

总结面试题答案(进行中,未完待续,要知道的太多啦,有错及时提出哇)

1、闭包是什么?用处如何?
闭包:是指有权访问另一个函数作用域中的变量的函数;
两种用处:函数作为返回值,函数作为参数传递。
2、this是有什么用,在什么情况下会使用?有什么注意事项。
1.在构造函数中,this代表它new出来的对象,且在整个原型链中,this指当前对象的值。
2.如果函数作为一个对象的属性,并被调用时,函数中的this指向该对象;
3.函数用call和apply调用,this的值取传入对象的值
4.全局&普通函数调用,this指window。
注意:在函数中this到底取何值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了。
3、return的用法是什么?若用在for循环中,还会执行下一次循环吗?
return返回控制,把控制器交还页面。报错不会。
return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
4、json是什么,如何处理转义。
JavaScript Object Notation;JavaScript 对象表示法 
好处: 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象,本文为大家介绍下转义字符对JSON.parse方法的影响。
JSON传值的时候,如果有回车符就会挂的。
特殊字符:“\”输出
5、   var gao=[]   //声明了一个数组 
        //如何达到如下几个操作: 
         (1)、模拟栈(后进后出)。 
         (2)、模拟队列(先入先出)。 
         (3)、如何进行判空。 
         (4)、如何挑出最大的一项。 
(1)gao.push("a","b");
     alert(gao.pop());
(2)gao.push("a","b");
     alert(gao.shift());
(3)alert(gao == "");
    alert(gao.length===0);
(4)var a=[1,2,3,5];
//遍历整个数组
    var max = a[0];
for (var i = 1; i < a.length; i++) {
   if (max < a[i]){
       max = a[i];
   }
}
alert(a);
//使用apply;_
    alert(Math.max.apply(null, a));//最大值
    alert(Math.min.apply(null, a));//最小值
6、继承有几种方式,分别是什么?想要实现继承可以使用什么方法? 
接口继承与实现继承,在ECMAScript无法实现接口继承。
只支持实现继承。
1.构造函数绑定。使用apply和call。
2.prototype模式
3.直接继承prototype
4.利用空对象作为中介
5.拷贝继承
7、简述原型链是什么,有什么用处?若想访问一个对象的原型,应该使用什么方法? 
每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念。
object._proto_;
function.prototype;



返回列表 返回列表
评论

    分享到