zoukankan      html  css  js  c++  java
  • 面试总结

    1、变量提升问题(或者变量预解析)

    //执行以下代码会有什么结果?为什么?
    function test() {
       console.log(a);
       console.log(foo());
    
       var a = 1;
       function foo() {
          return 2;
       }
    }
    test(); //undefined 和 2
    

    原因是,变量和函数都被提升了(hoisted)。因此,在a被打印的时候,它已经在函数作用域中存在(即它已经被声明了),但是它的值依然是 undefined

    2、this在javascript中是如何工作的

    //在 JavaScript 中,一个函数的上下文环境,也就是this关键词所引用对象,是依赖于函数是如何被调用的,而不是依赖于函数如何b被定义的。
        var fullname = 'John Doe';
        var obj = {
            fullname: 'Colin Ihrig',
            prop: {
                fullname: 'Aurelio De Rosa',
                getFullname: function() {
                    return this.fullname;
                }
            }
        };
    
        console.log(obj.prop.getFullname()); //Aurelio De Rosa
    
        var test = obj.prop.getFullname;
    
        console.log(test()); //John Doe
        //当 getFullname() 被赋为test变量的值时,那个语境指向全局对象(window)。这是因为,test被隐式设置为全局对象的属性。因此,函数调用返回window的fullname属性值;
    
        console.log(test.call(obj.prop)); //Aurelio De Rosa  将this指针重新指向obj.prop,所以位props对象内的fullname了;
    

    3、闭包的使用

    //打印对应li元素的索引值,如何改造以下代码段,使其能达到预期效果;
    var arr = document.getElementsByTagName("li");
    for(var i = 0; i < arr.length;i++){
         arr[i].onclick = function(){
              alert(i);
          }
    }
    

    多种方法详见参考链接:https://segmentfault.com/a/1190000003818163

    4、CSS的权重值:

    4个等级的定义如下:
    第一等:代表内联样式,如: style=””,权值为1000。
    第二等:代表ID选择器,如:#content,权值为100。
    第三等:代表类,伪类和属性选择器,如: .content,权值为10。
    第四等:代表类型选择器和伪元素选择器,如: div p,权值为1。

    参考链接:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Specificity
    http://www.cnblogs.com/rubylouvre/archive/2010/03/17/1687786.html


  • 相关阅读:
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1159 Common Subsequence
    HDU 1003 Maxsum
    HDU 2604 Queuing
    HDU 2045 不容易系列之(3)—— LELE的RPG难题
    HDU 2501 Tiling_easy version
    HDU 2050 折线分割平面
    HDU 2018 母牛的故事
    HDU 2046 骨牌铺方格
    HDU 2044 一只小蜜蜂...
  • 原文地址:https://www.cnblogs.com/huangl/p/6154972.html
Copyright © 2011-2022 走看看