当前位置: 首页 > news >正文

synology做网站服务器盐城哪里帮助公司建网址

synology做网站服务器,盐城哪里帮助公司建网址,建设品牌型网站制作,深圳网站开发公司哪家好首先来看一个有意思的面试题#xff1a; if(a 3 a 4){//... }第一眼看到这个面试题我是拒绝的#xff0c;这个等式根本不会成立#xff0c;怎么会存在一个值既等于3并且还同时等于4呢#xff1f;根本不可能。 但是在神奇的javascript中这个a是存在的。…首先来看一个有意思的面试题 if(a 3 a 4){//... }第一眼看到这个面试题我是拒绝的这个等式根本不会成立怎么会存在一个值既等于3并且还同时等于4呢根本不可能。 但是在神奇的javascript中这个a是存在的。对javascript要永远怀着一颗敬畏的心 var i 3; var a new Object();a.valueOf function(){return i; }if(a 3 a 4){console.log(等式成立了); // 打印了 }简单一看这个面试题有点故弄玄虚谁会这样写代码我之前的想法 但是这其中的知识点很有用并且不是很好掌握。 其中的主要知识点就是宽松等于涉及到的隐式类型转换。在日常开发中总会被提醒尽量不要使用宽松等于在相等比较时尽可能的使用严格等于。但是为什么呢其实通过上面的面试题就可以看出来宽松等于太神奇了晦涩难懂莫名其妙坑太多当然这是对于不太了解宽松等于和类型转换的我来说的。接下来则会不自量力的尽力来解释一下类型转换和宽松等于。 首先对于 和 的区别常被解释为 并不检查数据类型 检查数据类型。但是这个说法并不完全正确。相对正确的说法是 允许数据进行类型转换而 并不允许。第一种说法貌似是 做了更多的事情但事实却不是这样的。 的几种情况分别是 两个值类型相同则比较值 1.1 NaN不等于自身 1.2 0 等于 -0 1.3 两个对象指向同一个值则相等不发生强制类型转换 1.4 对于对象的比较同1.3 数字和字符之间的比较 Boolean和其他之间的比较 对象和非对象之间的比较 #数字和字符串之间的比较 一个String类型值和一个Number类型值之间比较则将String类型值按照 转换为Number表转为Number类型。 var a 1; var b 1;console.log(a b); // true 字符‘1’被转换成了数字1再作比较则相等 console.log(a b); // false 并没有对字符1数据类型转换数据类型不同则不相等Boolean类型值和其他类型值之间的比较 一个Boolean类型值和一个其他类型值之间比较则首先将Boolean类型值转换为Number类型true是1而false是0。 var a true;console.log(a 1); // true转换成了数字1再作比较则相等Object和其他类型值之间的比较 一个Object类型值和一个其他类型值之间比较则将Object类型值按照如下步骤转化 该对象如果有valueOf方法则调用该方法若该valueOf的返回值是基本类型则用作比较若valueOf的返回值不是基本类型则调用toString方法若toString方法返回基本类型值则用作比较若toString返回值不是基本类型则报错 var a {valueOf: function(){return 1;},toString: function(){return 2;} };console.log(a 1); // true 调用a.valueOf获得返回值再比较var a {valueOf: function(){return 1;},toString: function(){return 2;} };console.log(a 1); // true以上代码当对象a和数字1作比较调用valueOf方法获得字符串‘1’这时变成了字符串’1’和数字1作比较根据字符串和数字比较的规则将字符串转换成数字等到数字1然后两个数字1作比较得出相等。 当没有valueOf方法或者valueOf方法不返回基本类型值的时候则调用toString方法。 var a {toString: function(){return 1} };console.log(a 1); // true到这里开篇的那道面试题则不难理解了宽松等于中对象和其他类型比较时涉及到了隐式强制类型转换首先会调用valueOf方法如果有必要还会调用toString方法来获取值来进行比较。 Null和Undefined之间的比较 在宽松等于比较中Null类型值只和自身还有Undefined类型值相等。 console.log(null undefined); // trueconsole.log(null false); // falseconsole.log(undefined false); // falseconsole.log(null ); // falseconsole.log(undefined ); // falseconsole.log(null 0); // falseconsole.log(null ); // false几个宽松等于的坑 console.log(![] []); // true // 取反的优先级高于 所以![]转为falsefalse转为0[]调用valueOf得到[]所以调用toString得到‘’然后转为0得到相等console.log(false []); // true //false转为 0[]根据上面的步骤转为0得到相等0 false; // true 注意0并不是假值但是这里却是相等的因为 false 转为 0变成了数字和字符比较字符串0转为了数字0得到相等宽松等于中值a与Boolean作比较并不是比较值a是否为真或假而是值a与转换过后的Boolean值0或1作比较。 参考 你不知道的javascript中卷
http://www.huolong8.cn/news/416129/

相关文章:

  • 吉林省住房和城乡建设厅网站官网网站建设平台
  • 深圳营销型网站建设电话网站建设 青岛
  • 自己免费怎么制作网站吗庆阳网站哪里做
  • 怎样设置个人网站网站设置搜索框是什么知识点
  • 自己怎么做卡密网站广州网站制作到诺然
  • 服装网站建设网海南手机网站建设公司
  • 吴江住宅城乡建设局网站wordpress 重装教程视频
  • 企业网站制作的市场WordPress开启me
  • 怎么做链接网站网络营销的工具和方法有哪些
  • 做网站被骗网站主要内容包括什么
  • 做能支付的网站贵吗网页设计研究生专业
  • 大岭山网站建设公司网站商城建设费用
  • 网页美工设计夏霍seo网站策划
  • 网站建设企业宣传口号网站建设及推广话术
  • 安徽建站之星效果好企业营销型网站建设公司
  • 网站建设项目执行情况报告模板石家庄网站快速排名
  • 一个旅游网站建设网页版免费
  • 潍坊品牌网站建设公司aso优化技巧大aso技巧
  • 商城网站设计企业百度网站搜索关键字
  • 微信公众号网站建设网络营销成功的案例分析
  • 建设银行信用卡网站合肥建设集团信息网站
  • 营业范围中网站开发与网页设计免费发布工程信息网站
  • 做个网站需要哪些东西专门制作网页的工具
  • 氧气瓶网站建设温州网站建设公司排名
  • 政务公开网站建设重点js网站模板下载
  • 建立一个公司网站大理州住房和城乡建设局官方网站
  • 网络游戏网站开发建筑工程公司管理制度
  • 浦项建设中国有限公司网站wordpress电影分享
  • 免费的网站怎么做长沙网络营销公司排名
  • 深圳网站建设怎样快速嵊州市住房和建设局网站