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

中国市政建设局网站建门户网站

中国市政建设局网站,建门户网站,家乡网站建设策划书,鲜花网站建设的利息分析转载自 JS中 [] ![]结果为true#xff0c;而 {} !{}却为false#xff0c; 追根刨底 console.log( [] ![] ) // true console.log( {} !{} ) // false 在比较字符串、数值和布尔值的相等性时#xff0c;问题还比较简单。但在涉及到对象的比较时#xff0c;问题就变…转载自  JS中 [] ![]结果为true而 {} !{}却为false 追根刨底 console.log( [] ![] )  // true console.log( {} !{} )  // false 在比较字符串、数值和布尔值的相等性时问题还比较简单。但在涉及到对象的比较时问题就变得复杂了。最早的ECMAScript中的相等和不相等操作符会在执行比较之前先将对象转换成相似的类型。后来有人提出了这种转换到底是否合理的质疑。最后ECMAScript的解决方案就是提供两组操作符 相等和不相等——先转换再比较       全等和不全等——仅比较而不转换   ECMAScript中相等操作符由两个等于号表示如果两个操作数相等则返回true这种操作符都会先转换操作数通常称为强制转型然后再比较它们的相等性 在转换不同的数据类型时对于相等和不相等操作符在JS高程中一书中给出如下的基本转换规则 ①、如果有一个操作数是布尔值则在比较相等性之前先将其转换为数值——false转换为0而true转换为1 ②、如果一个操作数是字符串另一个操作数是数值在比较相等性之前先将字符串转换为数值 ③、如果一个操作数是对象另一个操作数不是则调用对象的valueOf()方法用得到的基本类型值按照前面的规则进行比较 这两个操作符在进行比较时则要遵循下列规则。 ①、null 和undefined 是相等的 ②、要比较相等性之前不能将null 和 undefined 转换成其他任何值 ③、如果有一个操作数是NaN则相等操作符返回 false 而不相等操作符返回 true。重要提示即使两个操作数都是NaN相等操作符也返回 false了因为按照规则 NaN 不等于 NaN ④、如果两个操作数都是对象则比较它们是不是同一个对象如果两个操作数都指向同一个对象则相等操作符返回 true否则 返回false 这里说一下题外话[] 和 {} 都是属于引用类型引用类型是存放在堆内存中的而在栈内存中会有一个或者多个地址来指向这个堆内存相对应的数据。所以在使用  操作符的时候对于引用类型的数据比较的是地址而不是真实的值。 现在来探讨 [] ! [] 的结果为什么会是true ①、根据运算符优先级  的优先级是大于  的所以先会执行 ![] 可将变量转换成boolean类型null、undefined、NaN以及空字符串()取反都为true其余都为false。 所以 ! [] 运算后的结果就是 false 也就是 [] ! [] 相当于 [] false ②、根据上面提到的规则如果有一个操作数是布尔值则在比较相等性之前先将其转换为数值——false转换为0而true转换为1则需要把 false 转成 0 也就是 [] ! [] 相当于 [] false 相当于 [] 0 ③、根据上面提到的规则如果一个操作数是对象另一个操作数不是则调用对象的valueOf()方法用得到的基本类型值按照前面的规则进行比较如果对象没有valueOf()方法则调用 toString() 而对于空数组[].toString() -   (返回的是空字符串) 也就是  [] 0 相当于 0 ④、根据上面提到的规则如果一个操作数是字符串另一个操作数是数值在比较相等性之前先将字符串转换为数值 Number() - 返回的是 0 相当于 0 0 自然就返回 true了 总结一下 [] ! []   -   [] false  -  [] 0  -    0   -  0 0   -  true 那么对于 {} !{} 也是同理的 关键在于  {}.toString() -  NaN(返回的是NaN) 根据上面的规则如果有一个操作数是NaN则相等操作符返回 false 总结一下 {} ! {}   -   {}  false  -  {}  0  -   NaN  0    -  false
http://www.zqtcl.cn/news/992533/

相关文章:

  • 丹阳网站建设企业建设网站管理制度
  • 怎样审请网站集成装修全屋定制
  • 好看响应式网站模板下载可以访问的国外网站
  • 做电脑网站宽度网站建立安全连接失败
  • 西安网站设计哪家公司好my12777域名查询
  • 西宁网站建设排名网站设计对网站建设有哪些意义?
  • 北京平台网站建设价位怎样做网站卖网站
  • 网站建设与维护试题a卷建设银行官方网站买五粮液酒
  • 安装网站源码做文艺文创产品的网站
  • 软件公司网站设计与制作电子商务成功网站的案例
  • 购物车功能网站怎么做的建设众筹类网站
  • 哪些网站做的美爱站工具网
  • 对网站开发的理解源码资源网
  • 有哪些做兼职的网站网站建设的项目计划书
  • 如何做行业网站江苏城乡建设部网站首页
  • 淘客网站怎么做 知乎wordpress 删除插件
  • 深圳市住房和建设局人事调整公司网站seo怎么做
  • 小型影视网站源码好看的个人博客
  • 哈密建设厅网站西安培训机构
  • 网站建设公众号小程序开发密云网站开发
  • 南宁网站开发制作网站数据库分离怎么做
  • 不能打开建设银行网站怎么办自己做网站要会什么软件下载
  • 微软网站怎么做的diy个性定制
  • 洛阳做网站的公司宣传品牌网站建设
  • 公司网站开发招标书电子商务网站系统
  • 哪个旅游网站做的最好营销策划方案范文免费下载
  • 德州哪家网站优化公司专业单页网站seo如何优化
  • 南昌汉邦网站建设城建局
  • 网站建设:中企动力招聘网58同城招聘发布
  • 惠州住房和建设局网站物流网站建设方案范文