面试笔记(一)

很久没有写博文了,上一次的博文还是1月25日写的,是在对不住各位新老朋友,让大家误以为我的博客停了;过完年之后工作一直不稳定,迁居两地,现在终于稳定下来了,最近就忙着找工作,期间遇到的面试题与大家分享分享;

HTML

  1. HTML打开强制用极速模式渲染
<meta name="renderer" content="webkit">
//双核渲染,默认使用webkit内核
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
//指定IE和Chrome使用最新版本渲染

CSS

  1. position定位;简要说明relativeabsolutestaticfixed的区别

父元素使用relative,子元素使用absolute,子元素是怎么定位?

子元素根据父元素定位

父元素使用absolute,子元素使用absolute,子元素是怎么定位?

子元素根据父元素定位

父元素使用static,子元素使用absolute,子元素是怎么定位?

子元素根据根元素定位,因为它遵循正常文档流,top,right,bottom,left等属性不会被应用。

子元素使用fixed,子元素是怎么定位?

子元素固定在屏幕窗口

JavaScript

  1. 以下程序打印出来的值是多少
    var a = 100;
    function test() {
        console.log(a);
        a = 10;
        console.log(a);
    }
    test();
    console.log(a);

解:第一次输出a,输出的事全局变量a,所以值为100;第二次输出,因为在test方法里面定义了一个局部变量a,所以输出的应该是10;第三次输出为10;
这三次输出涉及到作用域和this,函数作为对象的某个方法调用,就会指向this的上级对象,所以第三次输出10;

  1. setTimeout延时机制分析,以下程序输出结果是
function printing() {
    console.log(1);
    setTimeout(function () {
        console.log(2);
    },1000);
    setTimeout(function () {
        console.log(3);
    },0);
    console.log(4);
}
printing();

解:第一次输出为1,没什么说的,最重要的就是后面三次输出;setTimeout必须等到当前程序的同步任务和任务队列中已有的事件执行完成后才会执行它本身,而它本身根据自己的延时时间设定来进行延时,setTimeout(0)是尽可能早的执行指定任务,并不是立即执行;所以按照机制来说就是4、3、2

  1. 闭包与作用域,以下程序的结果是
var name = 'World';
    (function () {
        console.log(name);
        if(typeof name === 'undefined'){
            var name = 'jack';
            console.log('Goodbye' + name);
        }else{
            console.log('Hello' + name);
        }
    })();

解:程序开始是定义了一个全局变量name,(function(){})是一个闭包的方法,第一次输出name访问不了全局变量name,所以就是undefined;接下来执行判断typeof name === 'undefined';首先程序是闭包,所以访问name是undefined,其次三个等于符号表示值是否相等,所以判断结果是true,程序继续执行,name被再次定义,第二次定时属于内部变量,所以就输出Goodbyejack;假如判断条件是typeof name != 'undefined',那么判断结果就是false,就执行else里面的语句,就是输出Helloundefined;

最后,文章续更。。。

已有 2 条评论
添加新评论

icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif