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

红色网站建设莱芜搜狗推广推荐

红色网站建设,莱芜搜狗推广推荐,最火爆的网页游戏,网站建设算什么行业javascript的类型检测 1、typeof typeof操作符可以检测js的基础数据类型#xff0c;包括number、string、boolean、undefined。因为null在二进制存储的值与object相同#xff0c;所以typeof检测null会返回object。此为特例 2、instanceof instanceof操作符可以检测某个对…javascript的类型检测 1、typeof typeof操作符可以检测js的基础数据类型包括number、string、boolean、undefined。因为null在二进制存储的值与object相同所以typeof检测null会返回object。此为特例 2、instanceof instanceof操作符可以检测某个对象是否属于某个构造函数比如 var a {} a instanceof Object // true他的原理是检测对象的原型链中是否存在该构造函数的原型所以上面的例子我们可以更改他的结果 var a {} a.__proto__ Boolean.prototype a instanceof Boolean // true其他 js中检测类型的方式有很多很多除了以上两种之外还可以通过constructor函数或者Array.isArray, isNaN等等方式去判断类型这里不详细记述了 Object.prototype.toString.call 下面我们来介绍一下今天要分享的主角登登登诶就是Object.prototype.toString.call Object.prototype.toString.call可以说是javascript万能的类型检测方式了 请看栗子 var obj {} Object.prototype.toString.call(obj) // [object Object]var arr [] Object.prototype.toString.call(obj) // [object Array]var str Object.prototype.toString.call(str) // [object String]var num 23 Object.prototype.toString.call(num) // [object Number]var bol true Object.prototype.toString.call(bol) // [object Boolean]var nul null Object.prototype.toString.call(nul) // [object Null]var udf undefined Object.prototype.toString.call(udf) // [object Undefined]var date new Date() Object.prototype.toString.call(date) // [object Date]var fn () {} Object.prototype.toString.call(fn) // [object Function]var map new Map() Object.prototype.toString.call(map) // [object Map]var set new Set() Object.prototype.toString.call(set) // [object Set]var regexp new RegExp() var regexp1 /123/g Object.prototype.toString.call(regexp) Object.prototype.toString.call(regexp1) // [object RegExp]Object.prototype.toString.call(window) // [object Window]…大概有这么多基本覆盖了所有能想到的类型 而且这种检测方式相对来说又比较安全稳定不容易被修改。除非你去覆盖Object.prototype.toSring方法。更改了Object.prototype.toSring方法还用Object.prototype.toSring去检测类型这有点开玩笑的意思了。 既然这样如果我定义了一个class class Test {toString(){return test} }const test new Test() Object.prototype.toString.call(test) // [object Object]我们可以看到即使我们重新定义了toString方法并返回一个值当使用 Object.prototype.toString.call(test)时还是返回了’[object Object]那我们该如何定制返回的类型呢 es6规范 要想了解这个问题我们必须要去了解es6的规范其中规范规定了Object.prototype.toString.call的行为它实际上是返回了被检测对象的Symbol.toStringTag的属性的值该属性属于语言内部属性无法被开发者直接访问也无法在其属性中原型链中被观测到。但是我们却可以更改这个属性的值。因此我们也就可以定制Object.prototype.toSring的返回类型了 举例子 var arr [] arr[Symbol.toStringTag] 不知名前端 Object.prototype.toString.call(arr) // [object 不知名前端]class Test {constructor() {this[Symbol.toStringTag] 不知名前端} }const test new Test() Object.prototype.toString.call(test) // [object 不知名前端]总结 要说这个知识有什么用在什么场景可以用可以说基本上是用不上。但是可以了解我们这些常用的方法到底是什么原理为什么会有这样的结果。在日常中遇到问题的时候更能得心应手的排查问题。甚至优化自己的代码
http://www.dnsts.com.cn/news/13825.html

相关文章:

  • 提供秦皇岛网站建设苍南规划建设局网站
  • 网站经营许可备案号湖南城市建设技术学院官方网站
  • 如何建立营销型网站自己做资金盘网站
  • 免费网站后台管理系统模板亚马逊网站网址
  • 精品资料网站中国最好的购物平台
  • 酒泉网站建设成都都网站建设
  • 网站上放百度地图网页设计实训报告工作内容和步骤
  • 网站建设与维护期中试卷抖音seo推广外包公司好做吗
  • 学做点心上哪个网站网站开发安装
  • 开源做网站需要申请账号吗制作微信网站
  • 杭州下沙开发区建设局网站网站功能与内容设计的步骤
  • 怎么做58同城网站教程sem扫描电镜是测什么的
  • 设计素材网站排版做地理题的网站
  • 网站改版 理论四川餐饮培训学校排名
  • 哪一家做网站好做网站需要的手续
  • 网站开发时遇到的问题dedecms源代码生成网站全过程
  • 前端静态网站模板彩票网站建设基本流程
  • 无主体网站是什么意思专门做招商的网站
  • 西安手机商城网站建设展台设计网站都有哪些
  • 做网站开发有哪些优点呢wordpress页面瀑布流
  • 宁国市城乡与住房建设网站正在建设中网站
  • 现工作室专做网站建设等应用程序项目,但工作室名暂为网站域名不备案
  • 沙田东莞网站建设wordpress绿色两栏响应式主题
  • 外贸网站如何优化安阳后营300一次贵不贵
  • 网站建设费用会计处理网站建设与维护中国出版社
  • 蛋糕网站模板wordpress 批量修改文章分类
  • 高青云速网站建设免费做logo
  • 网站建设玖金手指谷哥十一.php是什么网站
  • 电子商务网站策划书布局设计flash网站推荐
  • 上海门户网站建设公司宝安建设工程交易服务网