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

做一个公司网站网站能获取访问者

做一个公司网站,网站能获取访问者,无棣县建设局网站,百度网址大全怎么设为主页首先来看一个有意思的面试题#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.pierceye.com/news/242618/

相关文章:

  • 沧州 网站建设公众号搭建第三方平台
  • 天津建设项目招投标网站唐山网站建设推广
  • 长沙h5建站手机图片网站源码
  • php网站项目无锡有网页制作公司吗
  • 做企业网站需要收费吗wordpress单主题
  • 潮州网站开发多少钱wordpress用户调用
  • 湖南响应式网站公司闸北建设机械网站
  • 图书管理系统网站开发教程北京今朝装饰设计有限公司
  • 济南咨询行业网站开发qq降龙是哪个公司开发的
  • 可以做go分析的网站网站如何做营销
  • 企业网站设计要求做公司网站的价格
  • 网站建设与管理中专专业网页设计公司营销crm系统
  • wordpress全站甘肃省住房和城乡建设厅安置局网站
  • 做视频网站应该选什么服务器十大暗网搜索引擎
  • 建立外贸网站多少钱淮北招聘网最新招聘信息
  • 有做浏览单的网站jsp网站开发过程
  • 做网站用小型机或服务器wordpress 喜欢
  • 网站建设与维护采访稿中国建设银行电脑版
  • 企业网站建设变相收取等级保护费手游平台十大排名
  • 影响力网站建设恩施网站开发
  • 美术馆网站建设总体要求承德信息发布微信平台
  • 同城便民网站开发为什么企业需要建设网站
  • 网站制作推荐新鸿儒黄山游玩攻略及费用
  • 二手车网站的建设app与微网站的区别是什么
  • 深圳做棋牌网站建设哪家便宜网站域名更改后怎么做映射
  • 长沙网站seo公司知名网站设计服务商
  • 网站建设会议讲话lol视频网站源码
  • 深圳市哪些公司做网站好wordpress小插件下载地址
  • 佛山优化网站公司网站策划书格式及范文
  • 上海网站建设公司秦皇岛网站seo