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

linux下网站开发汉中市建设工程招投标交易中心

linux下网站开发,汉中市建设工程招投标交易中心,网址备案号查询,快速网络推广开篇JS作为一门动态语言十分灵活#xff0c;但是伴随而来的弱类型隐式转化的问题让我们十分头疼。隐式作为一个大课题#xff0c;很难用一个很简短的篇幅把JS的隐式转换讲解的十分清楚。所以我选择用多次少量的策略进行梳理#xff0c;争取让你每看完一篇都会有加深对于JS隐…开篇JS作为一门动态语言十分灵活但是伴随而来的弱类型隐式转化的问题让我们十分头疼。隐式作为一个大课题很难用一个很简短的篇幅把JS的隐式转换讲解的十分清楚。所以我选择用多次少量的策略进行梳理争取让你每看完一篇都会有加深对于JS隐式转换的理解。一元操作符说到隐式转换就不得不提操作符了绝大多数的隐式转换都与操作符有关。我们就从最简单的一元操作符开始我们的隐式转换探索之旅吧 gogogo!先来一串 操作符的基础实践let n 1 let s1 2 let s2 z let o {valueOf: function() {return -1} }n n // 值不变 s1 s1 // 值变为 2 s2 s2 // 值变为 NaN o o // 值变为 -1 由上面的代码可以看到使用操作符后使用效果会像Number()转型函数一元进行解析。而Number()的转化规则就是一元操作符隐式转化的精髓所在。(开始划重点 Number()的转化规则如下 数字不变true和false分别转化为0和1 null返回0 undefined返回NaN string比较复杂 如果为空则返回0 如果是数字(包括整型浮点数十六进制)则忽略前导0转化为对应十进制数字 如果非上述格式则返回NaN如果是对象则首先调用valueOf方法然后按照前面的规则转换如转换结果还是对象非原始值则再调用对象的toString方法。虽然红宝书中描述为“如果是对象则首先调用valueOf方法转换返回的值如果为NaN则再进行toString方法”但是据我实践发现貌似此处的描述并不准确或者谁来跟我讲讲 既然我们知道了的转换规则那么可以拓展来验证一下上面的规则我们这里主要对于对象进行探究PS: 没有记住规则不要紧可以按照上面的规则走多来几次就明白了~let o1 {valueOf: function() {console.log(执行valueOf)return a},toString: function() {console.log(执行toString)return -1} }o1 o1 // 执行valueof NaNlet o2 {valueOf: function() {console.log(执行valueOf)return {}},toString: function() {console.log(执行toString)return -1} }o2 o2 // 执行valueof 执行toString -1let o3 {valueOf: function() {console.log(执行valueOf)return []},toString: function() {console.log(执行toString)return -1} }o3 o3 // 执行valueof 执行toString -1let o4 {valueOf: function() {console.log(执行valueOf)return function () {}},toString: function() {console.log(执行toString)return -1} }o4 o4 // 执行valueof 执行toString -1let o5 [] o5 o5 // 0let o6 function() {} o6 o6 // NaN 关于最后的o5o6的结果我们要解释一下。不要忘记Array和Function也是对象哦所以他们的执行顺序应该是下面这样的。o5 Array的执行顺序: o5.valueOf()返回[]此时[]还是个Array对象于是接下来执行[].valueOf().toString() [].valueOf().toString()返回 Number()返回0o6 Function的执行顺序: o6.valueOf()返回function() {}此时还是个Function对象于是继续执行toString() o6.valueOf().toString()返回function() {} Number(function() {})返回NaN 同样的-作为一个二元操作符也是与上面的执行类似不过要注意-是会取负的哦~总结今天我们学习到了一元运算符带来的隐式转换主要要记得 Number()的转换规则尤其是对象今日习题{}[]在Chrome控制台打出的结果是小提示Chrome控制台中前面的{}会被当成空代码块哦作者想说的希望大家看了可以提一些建议~ 嘿嘿嘿 MacbookPro任务进度2/2配图是女朋友拍的 转载请注明出处告诉我一下我会很开心~今天总算是开了一个隐式转换类型的头哈哈哈 当然写这方面也是因为自己想要更加深入的了解JavaScript。可能很多人会觉得这种情况我要知道干嘛业务里面又用不到。之前的我也这么想过。但是我逐渐发现深入了解语言的特性可以让自己对于代码的掌控能力越强出现的BUG也越少就算出现BUG了定位的效率也越来越高。其中滋味只能自己体会啦~当然写之前一定一定要自己梳理清楚整体逻辑和细节尤其是复杂且紧急的需求否则你就会留下深深的大坑。高能预警下篇不出意外的话应该还是隐式转换毕竟是个大课题啊哈哈哈 透露几个下期的关键词关键字原始值、valueOf、toPrimitive、下期更精彩哦~
http://www.zqtcl.cn/news/327926/

相关文章:

  • 建筑类企业网站模板下载微信搜索推广
  • 上海网站备案在哪里wordpress短链接关键字
  • 金诚财富网站是谁做的建站技术博客
  • 黔东南网站设计公司儿童衣服刘涛做代言那个是什么网站
  • 网站首页样式百度推广是什么工作
  • 广告手机网站制作阿里云域名 设置网站
  • 杭州市拱墅区网站建设ui培训有用么
  • 广东手机网站建设多少钱邯郸市做网站的公司
  • seo网站优化推广怎么做龙岗中心医院
  • 建网站程序智能网站建设平台
  • 建筑公司分几级资质seo入门培训
  • wap类网站上海网站建设免费推
  • 网站建设哪家好公司建设银行网站怎么登陆不
  • 关于建设网站的需求wordpress不能发布文章
  • 如何一键建淘宝客网站中国建设银行金华分行网站
  • 给wordpress添加公告英语seo
  • 佛山市网站建设系统wap浏览器网页版
  • 关于小说网站的一些建设流程学做蛋糕有哪些网站
  • 益阳购物网站开发设计禹城网站制作
  • 教育网站开发文档全网营销推广案例
  • 最流行的网站开发框架wordpress阅读权限
  • 怎么做推广网站创立网站
  • 制作自己的网站需要什么材料网站计费系统怎么做
  • 网站和域名的区别昆山网站开发建设公司
  • 兼职网站推广如何做西安市商标局
  • 打开网站说建设中是什么问题莱芜金点子招小时工
  • 做网站的相关协议秦皇岛解封最新消息今天
  • 网站托管维护方案新闻媒体发稿平台
  • 网站扩展名四平网站建设怎么选
  • 网站制作价格与售后视频网站建设有什么意义