zoukankan      html  css  js  c++  java
  • 乱七八糟的知识点和一些面试题

    通用面试题目

    深入浅出妙用 Javascript 中 apply、call、bind

    1.任何对象都有属性,但只有DOM对象才有属性节点(attributes);

    2、行内元素(display: inline)的height、width、内/外边距的bottom、top(padding-top、padding-bottom、margin-top、margin-bottom)均不可改变

    3、文本不换行,显示省略号

      .nowrap{

        overflow: hidden;

        text-overflow: ellipsis;

        white-space: nowrap;

      }

    4、解释型语言的特性: 非独立性、效率低。

    5、求数组的最大值

      function max(arr){

        //方法一:

        var max = Math.max.apply(null, arr);

        //方法二:

        max = Math.max(...arr);

        //方法三:

        arr.sort(function(a, b){ return b-a; })

        max = arr[0];

        return max;

      }

      6、CSS3新属性

       calc() = calc(四则运算): calc(100% - 100px);

     7、给出两个数R和n,输出R的n次方

    function power(R, n){
      //判断R的小数点位数
      var str = R.toString();
      var index = str.indexOf(".");
      //计算小数点位数   
    var num = str.length - index -1;   var i = Math.pow(10, num);   R = R * i;   var sum = Math.pow(R, n);   sum = sum / Math.pow(i, n)   return sum; }

    8、在HTTP协议中:https://www.cnblogs.com/wqhwe/p/5407468.html

      1、HTTP协议是无状态的

      2、状态码307表示临时重定向

      3、RESTful接口中,利用HTTP协议的method字段来描述要对资源的操作方式,比如:GET表示获取资源, POST表示新增一个资源,PUT表示更新资源,DELETE表示删除资源等。

     9、DOM的操作,常用的有哪些,如何创建、添加、移除、移动、复制、查找节点?

      创建:

        creatDocumentFragment()   //创建一个DOM片段

        createElement()  //创建一个具体元素

        creatTextNode()  //创建一个文本节点

      添加:

        appendChild()  

      移除:

        removeChild()

      替换:

        replaceChild()

      插入:

        insertBefore()

      复制:

        cloneNode(true)

      查找:

        getElementById()

        getElementsByTagName()

        getElementsByClassName()

        getElementsByName()

    10、CSS实现网页调用服务端字体:https://blog.csdn.net/qq_35772366/article/details/54896418

    11、元素垂直居中(元素高度未知)

    //1、table-cell
    .middle{
      display: table-cell;
      vertical-align: middle;
    }
    //2、transform: translate(50%)
    .middle{
      display: absolution;
      top: 50%;
      transform: translateY(-50%);
    }
    //display: flex
      display: flex;
      align-item: center;

    12、主流浏览器

      浏览器     内核      特定属性前缀

      IE       trident        -ms-

      chrome   webkit/blink    -webkit-

      opera   presto/blink     -o-

      firefox   gecko       -moz-

      Safari   webkit       -webkit-

    13、parseInt() 和 toString()

    var num  = 10000;
    num = parseInt(num, 2);  //把二进制变量num转换为10进制数字
                // 16
    num.toString(16);      把十进制变量num转换为16进制字符串
                10

    14、&& (且)、 ||(或) 和 | (按位或)、& (按位与)运算符

    //&&运算符遇到假(false)就停
    var num = 2 && 0 && 2;  //0

    //||运算符遇真就停
    var num = 0 || 2 || 3;  //2

    //| 按位或运算符

      //参加运算的两个对象,按二进制位进行“或”运算。

      //运算规则:0|0=0;  0|1=1;  1|0=1;   1|1=1;

      //即 :参加运算的两个对象只要有一个为1,其值为1

    var num = 3 | 4;  //7
    //3 => 011
    //4 => 100

    //&按位与运算符
      //运算规则:0&0=0;  0&1=0;   1&0=0;    1&1=1;

         // 即:两位同时为“1”,结果才为“1”,否则为0

      var num = 3 & 4;  //0

        //3 => 011

        //4 => 100

    15、变量声明  声明提升

       函数声明  整体提升

    16、任何未经声明就直接赋值的变量归window所有; 

      一切声明的全局变量,全是window的属性

    17、并不是所有对象都继承自Object(Object.create(null));

        

    17、JavaScript语言可以正常计算的范围是:小数点前后十六位

    18、为什么  0.1+0.2 != 0.3 ()

     19、call / apply 改变this指向

        call( object, 参数 ) :需要把实参按照形参的个数传进去

        apply( object, [...] ) :需要传一个arguments

          共同点:功能均是改变this指向

          不同点:传参列表不同

    20、非首位子元素选择符: .list li + li (元素list类任意跟在li后面的li)

    21、数字 + 字符 = 字符

      数字 + Boolean = 数字

      数字 + null = 数字

      数字 + undefined =  NaN

    22、函数名.length   =>  形参数量

      arguments.length => 实参数量

    23、匿名函数表达式(简称:函数表达式)

      命名函数表达式

    24、数组常用的方法:

      改 变 原 数 组: push()  pop()  shift()  unshift()  splice()  reverse()  

      不改变元素组:concat()  join()  split()  toString()  slice()

    25、

      4>3>2  => false

      应依次计算: 4>3返回true; 

            true>2 = 1>2 返回false

    26、命名空间:管理变量,防止污染全局,适用于模块开发

    var huangInit = (function() {
      var name = "huang";
      function callName() { console.log(name) }
      return {callName : callName}
    }())

    var huang = huangInit();

    27、单词太长换行显示:word-wrap:break-word;word-break:break-all;

    28、jQuery获取定位元素的top和left值: $("selector").position().left/top

     29、圣杯布局、双飞翼布局、Flex布局和绝对定位布局的几种经典布局的具体实现示例

  • 相关阅读:
    Windows命令处理进程
    Linux 文件权限管理
    Linux 用户与用户组管理
    Linux 文件类型及操作
    快速了解必要的网络知识
    SSH免密码登录
    用SSH访问内网主机的方法
    MongoDB与PostgresQL无责任初步测试
    SpringMVC的Action在同一时间里只允许同一个浏览器的单次进入?
    Netty5使用自签证书实现SSL安全连接
  • 原文地址:https://www.cnblogs.com/lianchenxi/p/9483868.html
Copyright © 2011-2022 走看看