美文网首页我爱编程
前端面试总结

前端面试总结

作者: 南蓝NL | 来源:发表于2018-03-13 23:19 被阅读0次

    面试总结

    1. Typescript与Javascript的区别

    Typescript是强引用,JavaScript是弱引用。Typescript是Javascript的超集,任何合法的JavaScript都是Typescript。Typescript在JavaScript的原有对象模型当中进行了扩充,并且添加了比较严格的类型检查机制,添加了模块支持

    1. let、const与var的区别

    Let定义的变量有块级作用域,函数内部的变量对外部没有任何影响,const定义的变量不能改变,var定义的变量必须要初始化

    1. 怎么实现前端数据安全

      可以用https协议

      对客户端传来的数据进行验证

      采用黑名单和白名单

    2. 隐式转换与显式转换

      隐式转换

    a、递增或者是递减

    1. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值

    2. 在应用于一个不包含有效数字字符的字符串时,将将变量的值设置为NaN

    3. 在应用于布尔值true或者是false时,将其置为0或者是1

      b、逻辑非


      image.png

      C、关系比较操作符


      image.png
      显式转换 Number()、parseInt()、parseFloat()
      image.png

      5、用canvas画一个圆

      Var dom=document.getElementById(“test”);

      Var ctx = dom.getContext(‘2d’);

      Ctx.fillstyle=”red”;
      Ctx.fillRect(0,0,100,200);

    6、千分位格式化 前端面试总结

    7、移动端的字体怎么适配不同屏幕的大小
    通过rem去设置根元素documentElement,或者是百分比
    8、如何在“小明去T1站台搭乘t11公交”,请为T1设置字体颜色为红色,忽略大小写

        function   rp($1){
             return "<font color="red">+$1+"</font>"
        }
    str=str.replace(/T1/gi,rp)
    console.log(str);
    

    9、h5和css3的新属性
    h5 :1)语义化更好的标签,如header、article、nav、section、footer
    2)媒体标签audio和video
    3)画布canvas
    4)sessionStorage和localeStorge
    5)表单控件email、date、url、time
    css3:border-radius、box-shadow、border-image、
    background-size:规定背景图片的尺寸
    background-origin:规定背景图片的定位区域
    background-clip:规定背景的绘制区域
    10、请你写一个事件驱动函数
    11、分布动画

       @-webkit-keyframes ani{
           0%{ }
           20%{ }
          60%{ }
       }
       .test:hover{
           -webkit-animation:ani 2s steps;
        }
    

    12、创建对象的几种方式:工厂方式、构造函数、原型链

    工厂方式(返回一个对象,但是对象是什么类型不知道)
       function parent(name,age){
               var o= new Object();
                  o.name = name
                  o.age = age
                  o.sayName = function(){
                        alert(this.name)
                    }
                   return  o;
              }
           var x = Parent();
          console.log(x.name);
    
    构造函数(没有return语句,不会显式地创建对象,属性和方法赋给了this对象,能够检测出对象类型)
    
     function Person(name,age,job){
        this.name = name;
        this.age = age;
        this.job = job;
        this.sayName = function(){
        alert(this.name);
        }; 
    }
       var person1 = new Person('Nike',29,'teacher');
       var person2 = new Person('Arvin',20,'student');
    
    原型链
    
      function Person(){
         Person.prototype.name="nanlan";
         Person.prototype.age=12;
         Person.protoType.sayName = function(){
            alert(this.name);
           }
       }
     var person1 = new Person();
     var person2 = new Person();
    person1.name = "xiaoju"
    console.log(person1.name); //xiaoju 来自实例
    console.log(person2.name);//nanlan  来自原型
    
    为实例添加一个实例属性,这个实例属性会覆盖原型同名的属性
    
    组合模式(构造函数+原型,构造函数通常用来定义属性,原型用来定义方法和实例属性)
    function  Person(name,age,job){
        this.name =name;
        this.age=age;
        this.job=job;
    }
    Person.prototype ={
       constructor:Person,
        sayName:function(){
        alert(this.name);
       }
      }
    var person1 = new Person("xiaoju",22,"programer")
    

    13、es6新的基本数据类型
    Null、Undefined、String、Number、Object、Array、Symbol
    14、怎么区分array Object
    15、em、rem分别代表什么意思

    相关文章

      网友评论

        本文标题:前端面试总结

        本文链接:https://www.haomeiwen.com/subject/wlcxqftx.html