资讯专栏INFORMATION COLUMN

回家路上想起来关于Js一个有趣的东西

Sanchi / 3045人阅读

摘要:忽然在下班的地铁上想起来两个的小问题,有个还和之前的吹过牛,拿出来正好说一下吧。所以我想起来之前在上不用分号的建议是值得商榷的。

  最近好像有点没有之前开心,换了公司但是没有以前的活力了,好像记得之前每天上班下班都挺开心的,可能主要是之前的工作氛围真的不错吧,虽然技术真的不咋的。忽然在下班的地铁上想起来两个JavaScript的小问题,有个还和之前的leader吹过牛,拿出来正好说一下吧。

function fn1(){
    return {
        name: "javascript"
    };
}

function fn2(){
    return 
    {
        name: "javascript"
    };
}

var obj1 = fn1();
var obj2 = fn2();

console.log(obj1);
console.log(obj2);

  上面两个例子看起来几乎没有什么不同,但是实质上确实不同的,第一个输出会显示object类型的数据,但是第二个却会显示undefined,第一个非常显而易见,那第二个为什么呢,其实JavaScript是不需要分号这个东西的,所以第二个函数其实会被解析成

function fn2(){
    return ;
    {
        name: "javascript"
    };
}

  所以实质上函数返回的是一个undefined。
  还有一个挺好玩的例子,例如:

var func = function(){
    return 42;
}
(function(){
    console.log("a");
})();

  上面这个例子其实会语法错误,原因就是:上面的语句会解释成,一个函数带一匿名函数作为参数而被调用, 返回42后, 又一次被"调用", 这就导致了错误。所以我想起来之前hax在Jsconf上不用分号的建议是值得商榷的。

  最后附上最近看到的一个JavaScript的小知识,众所周时JavaScript的基本数据类型有五种:string,number,null,undefined,boolean,那么为什么

typeof null

显示的是object类型,这属于浏览器的对语言层面的一个BUG,原因在于Object在底层数据存储是以二进制格式存储的,浏览器以前三个二进制位进行判断,如果前三个二进制位都是000的话会被判断为属于Object类型,问题在于null底层存储是全为0,所以会被检测为Object类型。

欢迎大家到我的个人博客看看,https://mrerhu.github.io ?

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

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

相关文章

  • 小程序如何防止资源被盗刷?

    摘要:然而小程序放上去不到两周,就在昨天就在昨天就在昨天,突然收到腾讯云的邮件提示,欠费,,什么情况啊,我懵逼了,想了半天,先充了几块钱进去,毕竟不想自己努力构思的产品,就诞生这么几天就夭折了。 showImg(https://segmentfault.com/img/bVbkcfC?w=1080&h=298); 做过前端,或对小程序有些了解的同学都知道,小程序是没有域名访问概念的,访问的路...

    jerryloveemily 评论0 收藏0
  • 小程序如何防止资源被盗刷?

    摘要:然而小程序放上去不到两周,就在昨天就在昨天就在昨天,突然收到腾讯云的邮件提示,欠费,,什么情况啊,我懵逼了,想了半天,先充了几块钱进去,毕竟不想自己努力构思的产品,就诞生这么几天就夭折了。 showImg(https://segmentfault.com/img/bVbkcfC?w=1080&h=298); 做过前端,或对小程序有些了解的同学都知道,小程序是没有域名访问概念的,访问的路...

    greatwhole 评论0 收藏0
  • JavaScript精编干货

    摘要:老姚浅谈怎么学鉴于时不时,有同学私信问我老姚,下同怎么学前端的问题。撸码听歌,全局控制。 浅析用 js 解析 xml 的方法 由于项目上需要解析 xml,于是各种百度,然后自己总结了下各个主流浏览器解析 xml 的方法,只能是很浅显的知道他的用法,但是还没有深层次的研究。 装 X - 建立自己的斗图网站库 之前加过一个斗图群,看到很多经典的表情,然后就收藏到了 QQ, 迫于本屌丝开不起...

    Fourierr 评论0 收藏0

发表评论

0条评论

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