zoukankan      html  css  js  c++  java
  • 常见前端面试题04

    使下面输出1

    在这里插入图片描述

    解答思路

    我们想要a取一个东东,来让下面的条件成立,我们必须要明白数据的隐式转换

    1. 对象 == ’123‘, 先调用对象的toString()转化成字符串,然后再看需要等于的类型是否转化成数值。
    2. undefined == null 为真
    3. NAN == NAN 是恒为假的

    知道了上面的隐式转化过程,我们可以利用数据的劫持,或者重写隐式转化种调用的函数来达到,我们读取一个变量的值,获取不同结果的目的。

    方法一:generator生成器

    var a={
        toString = function*(){
            yield 1;
            yield 2;
            yield 3;
        }
    }
    

    方法二: a.toString

    会转换,规则:
    对象字符串 对象.toString
    null
    undefined 相等 但是和其他值不相等
    NaN!=NaN
    剩下的都转换成数字

    方法三:数据劫持

    在这里插入图片描述

    方法四:es6的proxy代理

    方法五:利用数组的shift方法

    在这里插入图片描述


        感谢您花时间阅读此篇文章,如果您觉得看了这篇文章之后心情还比较高兴,可以打赏一下,请博主喝上一杯咖啡,让博主继续码字……
        本文版权归作者和博客园共有,来源网址:https://blog.csdn.net/weixin_46498102 欢迎各位转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接
  • 相关阅读:
    作业四 四则运算
    作业三
    作业二(3)
    作业二(2)
    作业二(1)
    作业一
    作业九
    每周更新学习进度表--第十一周
    每周更新学习进度表--第十周
    每周更新学习进度表--第九周
  • 原文地址:https://www.cnblogs.com/jackson1/p/13791778.html
Copyright © 2011-2022 走看看