资讯专栏INFORMATION COLUMN

web前端经典问题探讨

yzd / 1276人阅读

摘要:前端经典问题探讨执笔代码执行的结果循环第次分析基数是基数的范围基数不在合

web前端经典问题探讨(Damon执笔)
------------------------------------------------------------------------------------
Q:代码执行 [1,2,3].map(parseInt) 的结果?
A:
map循环第1次
    parseInt(1,0)
    分析:1、基数是0(基数的范围 [2,36],基数不在合法范围内的,一律返回NaN),0比较特殊也表示10进制
         2、按照进制范围依次截取字符串,得到1
         3、1*10^0 => 1
map循环第2次
    parseInt(2,1)
    分析:1、基数是1(基数的范围 [2,36],基数不在合法范围内的,一律返回NaN)
         2、基数合法,故返回NaN
map循环第3次
    parseInt(3,2)
    分析:1、基数是0(基数的范围 [2,36],基数不在合法范围内的,一律返回NaN),0比较特殊也表示10进制
         2、按照进制范围依次截取字符串,得到"",故返回NaN
Q:const a={name:1}
  a.x=a={}
  console.log(a.x) //?
A:
Q:
var a = {n: 1}  
var b = a;  
a.x = a = {n: 2}  
console.log(a.x);  
console.log(b.x)
A:
Q:(a ==1 && a== 2 && a==3) 可能为 true 吗?
A:
解决方法1:
    let a={
        val:0,
          valueOf(){
            return ++this.val
        }
    }
    if(a ==1 && a== 2 && a==3){
        console.log("success")
    }
解决方法2:
    let a={
          [Symbol.toPrimitive]:((i)=>()=>++i)(0)
    }
    if(a ==1 && a== 2 && a==3){
        console.log("success")
    }
解决方法3:
    let val=0
    Object.defineProperty(window,"a",{
        get(){
            return ++val
        }
    })
    if(a ==1 && a== 2 && a==3){
        console.log("success")
    }
解决方法4:
    let val=0
    with({
        get a(){
            return ++val
        }
    }){
        if(a ==1 && a== 2 && a==3){
            console.log("success")
        }    
    }
    
var foo={n:1};


(function (foo) {
    console.log(foo.n);
    foo.n = 3;
    var foo = {n:2};
    console.log(foo.n);
})(foo);


console.log(foo.n);
    /*
    * 多条件for循环执行时,
    * 只要有一个不满足条件
    * 则全部退出循环
    *
    *
    * */

    var i, j, k;
    for (i=0, j=0; i<4, j<2; i++, j++) {
        console.log(i, j);
        k = i+j;
    }

    console.log(k);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102735.html

相关文章

  • 前端经典面试题 不经典不要star!

    摘要:前言上一期说好的的核心模块进阶以及基本应用的使用将在号或者号与大家见面在此之前我想跟大家分享几个前端经典的面试题为什么我突然想写这么一篇文章呢今天我应公司要求去面试了下几位招聘者然后又现场整不出几个难题就搜了一下前端变态面试题,前提我并不是 前言 上一期说好的node.js的核心模块进阶以及基本web应用的使用将在2号或者3号与大家见面,在此之前我想跟大家分享几个前端经典的面试题,为什...

    codergarden 评论0 收藏0
  • 前端经典面试题 不经典不要star!

    摘要:前言上一期说好的的核心模块进阶以及基本应用的使用将在号或者号与大家见面在此之前我想跟大家分享几个前端经典的面试题为什么我突然想写这么一篇文章呢今天我应公司要求去面试了下几位招聘者然后又现场整不出几个难题就搜了一下前端变态面试题,前提我并不是 前言 上一期说好的node.js的核心模块进阶以及基本web应用的使用将在2号或者3号与大家见面,在此之前我想跟大家分享几个前端经典的面试题,为什...

    archieyang 评论0 收藏0
  • GIAC 2017全球互联网架构大会最新日程

    摘要:月日至日,高可用架构和联合主办的全球互联网架构大会将于上海光大会展中心举行。全球互联网架构大会是高可用架构技术社区推广的面向架构师技术负责人及高端技术从业人员的技术架构大会。本次大会共有大板块方向,场技术专题,个互联网架构案例。 showImg(https://segmentfault.com/img/bVZ3Vh?w=600&h=375);12月22日至23日,高可用架构和msup联...

    617035918 评论0 收藏0
  • GIAC 2017全球互联网架构大会最新日程

    摘要:月日至日,高可用架构和联合主办的全球互联网架构大会将于上海光大会展中心举行。全球互联网架构大会是高可用架构技术社区推广的面向架构师技术负责人及高端技术从业人员的技术架构大会。本次大会共有大板块方向,场技术专题,个互联网架构案例。 showImg(https://segmentfault.com/img/bVZ3Vh?w=600&h=375);12月22日至23日,高可用架构和msup联...

    Imfan 评论0 收藏0
  • JavasScript重难点知识

    摘要:忍者级别的函数操作对于什么是匿名函数,这里就不做过多介绍了。我们需要知道的是,对于而言,匿名函数是一个很重要且具有逻辑性的特性。通常,匿名函数的使用情况是创建一个供以后使用的函数。 JS 中的递归 递归, 递归基础, 斐波那契数列, 使用递归方式深拷贝, 自定义事件添加 这一次,彻底弄懂 JavaScript 执行机制 本文的目的就是要保证你彻底弄懂javascript的执行机制,如果...

    forsigner 评论0 收藏0

发表评论

0条评论

yzd

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<