zoukankan      html  css  js  c++  java
  • 前端试题-2016年阿里前端开发工程师笔试题6,7,8题的解法

    2016年阿里前端开发工程师笔试题(只有题,没有答案)

    http://www.cnblogs.com/sdgf/archive/2015/08/18/4740698.html

    第6题:请在____处填写答案,从而达到题目的要求

    var arr = [1, 2, 3, 4, 5];
    var result = arr.sort(_______________________________).join("+");
    console.log(result);

    解答:在排序当中,如果需要按照某种规则来排列,那么可以通过添加自定义函数:

        如果从大到小排列:function(a,b){ return b-a; };

        如果从小到大排列:function(a,b){ return a-b; };

       关于Array的sort方法更详细的介绍:

       https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString

    第7题:把一个字面量对象,变成某个类的实例

    function Type() {}
    var a = {};
    ______________ 
    // a instanceof Type === true

    解答:此题中需要修改a的类型,那么我们需要了解的是:instanceof 运算符代码

    function instance_of(L, R) {  //L 表示左表达式,R 表示右表达式
      var O = R.prototype;  // 取 R 的显示原型
      L = L.__proto__;  // 取 L 的隐式原型
      while (true) { 
        if (L === null) 
          return false; 
        if (O === L)  // 这里重点:当 O 严格等于 L 时,返回 true 
          return true; 
        L = L.__proto__; 
      } 
     }
    详细介绍:http://www.ibm.com/developerworks/cn/web/1306_jiangjj_jsinstanceof/

       知道了上边的内容之后,我们了解到insanceof判定的依据就是实例对象的__proto__是否严格等价创建该对象的构造函数的prototype属性,即:

       实例对象.__proto__ === 构造函数.prototype。

       所以此题的解法就是,在a中添加__proto__属性,并令其等于Type的prototype属性。

       代码实现:a.__proto__ = Type.prototype;

    第8题:补充下面的函数,判断p为Array

    function isArray(p){
      return Object.prototype._____.apply(p)==='_____';  
    }

    解答:此题需要了解的是:关于Object.prototype.toString()方法的用法:

       https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString

       所以此题的解法为:toString         [object Array]

    以上内容纯属个人见解,欢迎大家纠正错误,我也是js初学者。

    Read the fucking manual and source code
  • 相关阅读:
    vue cli
    vue element-ui
    vue mint-ui
    vue富文本编辑器
    vue-单文件组件相关
    axios
    vue Router
    css 行内元素和块级元素的一些注意事项
    golang协程和变量
    Internet地址介绍
  • 原文地址:https://www.cnblogs.com/qxynotebook/p/4775913.html
Copyright © 2011-2022 走看看