美文网首页我爱编程
面试遇到的一些问题(未整理)

面试遇到的一些问题(未整理)

作者: 枫树林 | 来源:发表于2018-04-12 19:56 被阅读0次
    link跟@import有什么区别?
    • @import是css提供的语法规则,只有导入样式表的的作用;link是xhtml提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。
    • 加载页面时,link标签引入的 CSS 被同时加载;@import引入的 CSS 将在页面加载完毕后被加载。
    • 可以通过 JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式。
    • @import是 CSS2.1 才有的语法,故只可在 IE5+ 才能识别;link标签作为 HTML 元素,不存在兼容性问题。
    • link引入的样式权重大于@import引入的样式。(待测试)
    html5删除了那些标签,新增了那些特性,怎么区分html跟html5
    css优先级
    • !important(1/0无穷大)> 行内样式(1000) > ID(100) > 类、伪类、属性(10) > 标签名(1) > 继承 > 通配符(0)
    闭包的三个特性
    • 函数嵌套函数
    • 函数内部可以引用外部的参数和变量
    • 参数和变量不会被垃圾回收机制回收
    css3有那些新特性
    ajax的缺点和在IE下的问题
    快速排序的内部逻辑,以及实现
    AMD跟common.js有什么区别,优缺点
    写一个函数返回一个字符串的字节数(假设一个英文字符是一个字节,一个中文字符是两个字节)
    css3有那些选择符,css3新增了那些伪类,伪类跟伪元素有什么区别
    自己写一个函数实现bind的功能
    Function.prototype.bind = function (_this,args) {
        var self = this,
              oldargs= arguments;
        
        return function () {
            var args = [];
            for(var i = 1; i < oldargs.length; i++){
                args.push(oldargs[i])
            }
            for(var i = 0; i < arguments.length; i++){
                args.push(arguments[i])
            }
            return self.apply(_this, args)
        }
    }
    
    设置cooke
    模拟split方法
    vue的父子组件通信、vuex(状态管理)、vue路由----vue的同级子组件之间的通信
    jquery的$.extend()、$.fn和$.fn.extend()---(插件系统)
    webpack打包多个html文件,
    js异步回调在es6里面的解决办法
    正则问题( 12345 变成 1 2 3 4 5)(手机号)
    es6的promise对象
    es6的异步变成解决方法 Generator 函数
    es7中的异步方法( ES2017 标准引入了 async 函数,使得异步操作变得更加方便。)
    js继承 .call()、 .apply()
    • eq:Math.max() 用js继承写一个函数实现这个方法
      function maxs(){
      return Math.max.apply(null,arguments)
      }
    Parcel 打包工具,
    html5的新标签和新的api
    css3的新特性
    前端算法问题
    js的几个类型:
    • 字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(undefined)
    js判断数据类型的方法--typeof(不能判断对象)、

    相关文章

      网友评论

        本文标题:面试遇到的一些问题(未整理)

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