美文网首页
面试准备2

面试准备2

作者: Nico酱 | 来源:发表于2016-12-29 22:45 被阅读14次

浮动元素居中

<style>
    .box1{
            width:100px;
            height:100px;
            background-color:red;
            float:left;
            margin-left:50%;
            position: relative;
            left:-50px;
        }
</style>

描述flex布局

flex称为弹性盒子,采用flex布局的元素称为容器,子元素成为容器成员,flex有两条轴,一条称为主轴,一条称为交叉轴;
有很多属性可以控制局部方式
flex-direction|flex-wrap|justify-content|align-items|align-content|flex-flow
order|align-self

cookie,sessionStorage,localStorage

相同点:三者都可以存储数据,都有大小限制
cookie主要用于和交互,二localstorage和sessionstorage主要用于存贮数据
cookie有时效性,可以设置什么时候失效,而localstorage在用户不清理的时候一直存在,sessionstroage是会话性质,在结束会话后会清除
cookie可以设置路径,有作用域

对前端进行优化

1,使用合并压缩的文件,使用css spirits
2,使用外部引入的js和css文件,css文件放在头部,js放在尾部
3减少空src的标签,删除无用的dom节点,将资源放在不同的域名
4,使用cdn服务,合理的设置http缓存
5,合理的使用cookie和webstorage

做两套响应式,如何判断和跳转

navigator.useagent的字符串,使用正则进行匹配,可以得知,然后通过window.location.hreg进行跳转

第三方插件

 ;(function($, window, document, undefined) {
        var defaults = {};
        function Drag(opt) {
            var config = $.extend({},
            defaults, opt || {});
        }
        Drag.prototype.say = function() {
            console.log('hello')
        }
        $.fn.myplugin = function(opt) {
            var a = new Drag(opt);
            return a.say();
        }
    })(jQuery, window, document)
    $(function(){
        $('#btn').myplugin();
    })

angular

1,双向数据绑定(mvvm, mvc是单向数据绑定)
2,依赖注入,帮助开发者更容易理解,开发和测试
3,指令
4,过滤器
5,控制器
6,ui路由
7,三种通信方式:1.servise 2.$rootscope 3.events事件
8.$rootscope是所有的$scope的父对象
9,$watch $q,$digest,$apply
10,ng-show,ng-if

冒泡排序

var a =[1,23,12,32,34,112,12,89];
//第一个数和后面每个数两两进行比较,如果有比较大的数就就换位置,
//小的就跑到最上面,每次都从a[0]开始排序
//每运行一次就拍好一个数,所以就要减去i
for(var i =0;i<a.length-1;i++){
  for(var j=0 ;j<a.length-i-1;j++){
    if(a[j]<a[j+1]){
      var temp = a[j+1];
      a[j+1]=a[j];
      a[j] = temp;
    }
  }
}
console.log(a);

angular相关

1.directive中可以设置 A 属性 C 类 E 标签 M 注释
    app.directive('xheader',function(){
      return {
        restrict: ec,
        scope:false,
        remplateUrl:,
        replace:false,
        link:function(scope,ele,attr){
          
        }
      }
    })
2.通信方式 service $rootscope 指定绑定事件
3.尽量使用angular.element $http.$timeout 
4. ng-repeat 时数组有相同的值,可以在后面添加track by $index
5. 页面不能调用原生方法
6. filter |filterName:argument    或者    $filter(data)(argument)
7.app.filter('name',function(){
  return function(data,argument){
    return a;
  }
})
8.app.service('ajax',function(){
  this.say=function(){
    
  }
})
9.脏检查机制:Angular 在 scope 模型上设置了一个 监听队列,用来监听数据变化并更新 view 。每次绑定一个东西到 view 上时 AngularJS 就会往 $watch 队列里插入一条 $watch,用来检测它监视的 model 里是否有变化的东西。当浏览器接收到可以被 angular context 处理的事件时,$digest 循环就会触发,遍历所有的 $watch,最后更新 dom。
10.不利于 SEO
因为所有内容都是动态获取并渲染生成的,搜索引擎没法爬取。

相关文章

网友评论

      本文标题:面试准备2

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