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

连云港网站 建设黄页推广app软件

连云港网站 建设,黄页推广app软件,天津营销网站建设公司排名,上海仿站定制模板建站一、typeof 在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。 对于数组、对象来说,其关系错综复杂&…
一、typeof

在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。
对于数组、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。

typeof {} //objecttypeof [] //object

要想区别对象、数组单纯使用 typeof 是不行的。或者你会想到 instanceof 方法。

二、instanceof

instanceof是javaScript中的一种运算符,用于判断某个对象是否属于某个类(或其父类)的实例,

console.log({} instanceof Object) //trueconsole.log([] instanceof Object) //trueconsole.log(function () {} instanceof Object) //true

上面代码发现都是 Object 的实例

所以要判断复合数据类型,要如下判断:

//对象
({} instanceof Object) && !({} instanceof Function) && !({} instanceof Function)//数组
([] instanceof Object) && ([] instanceof Array)//函数
(function () {} instanceof Object) && (function () {} instanceof Function)

虽然 instanceof 运算符在某些情况下可以很方便地判断对象所属的类,但是在实际开发中需要注意其局限性,并结合其他方法和技巧来进行类型判断。

三、Object.prototype.toString.call()

更简便的方式,即是使用 Object.prototype.toString.call() 来确定类型。

由于 JavaScript 中一切都是对象,任何都不例外,对所有值类型应用 Object.prototype.toString.call() 方法

对于 Object.prototype.toString() 方法,会返回一个形如 “[object XXX]” 的字符串。

如果对象的 toString() 方法未被重写,就会返回如上面形式的字符串。

toString()为Object的原型方法,而Array,function等类型作为Object的实例,都重写了toString方法。不同的对象类型调用toString方法时,根据原型链的知识,调用的是对应的重写之后的toString方法。

Call是一个允许您更改另一个函数上下文的函数。

对于 Object.prototype.toString.call(arg),若参数为 null 或 undefined,直接返回结果。

若参数不为 null 或 undefined,则将参数转为对象,再作判断。

//编写一个函数判断所有数据类型
function _typeof(item) {let res = Object.prototype.toString.call(item);res = res.split(" ")[1];res = res.substr(0, res.length - 1);return res;
}

效果如下:

console.log(_typeof(123));//Numberconsole.log(_typeof("abc"));//Stringconsole.log(_typeof(true));//Booleanconsole.log(_typeof(null));//Nullconsole.log(_typeof(undefined));//Undefinedvar fun = function () {}
console.log(_typeof(fun));//Functionvar arr = [1, 2, 3]
console.log(_typeof(arr));//Arrayvar obj = {name: 'jack',age: 20
}
console.log(_typeof(obj));//Object
http://www.yayakq.cn/news/268416/

相关文章:

  • 山东省住房和城乡城乡建设厅网站德阳网站制作公司
  • 帝国cms地方门户网站模板中国菲律宾南海争端
  • c程序设计课程网站建设论文学做吃的网站
  • 在线支付网站建设做网站的公司经营范围
  • 四平做网站网络营销模式理论
  • 沧浪公司网站建设电话注册域名卖钱很暴利吗
  • 3g电影网站排行榜迁安建设局官方网站
  • 北京网站建设找华网天下百度产品优化排名软件
  • 青岛高端网站开发网站代理工具
  • 公司网站备案需要什么材料网页设计代码图片
  • 塘沽网站制作wordpress前台用户中心
  • 一个好的网站的重要性上海装修公司排名榜单出炉
  • 怎么做电脑网站后台wordpress最新中文版
  • 比价网站源码广州手工外发加工网
  • 微网站建设合同wordpress主题 网站大全
  • 网站建设与维护书籍推荐网页升级紧急通知怎么关闭
  • 安徽省工程建设信息网站制作开发app的公司
  • 响应式相册网站模板网站后台上次图片
  • 大气简洁企业通用网站模板建一个国外的网站
  • 鞍山 中企动力提供网站建设wordpress php代码
  • 做网站还是app省钱建筑木模板报价清单
  • 如何把做的网站与域名连接不上重庆建设工程安全协会网站
  • h5手机制作网站开发wordpress小工具自定义
  • 网站系统维护一个月正常吗网上营销新观察网
  • 西安未央网站建设做网站注意
  • 海外推广工作内容网奇seo赚钱培训
  • 电话网站模版网站留白
  • 怎么建设网站让国外看网站项目建设申请汇报大纲
  • 域名备案和网站备案有什么不同杭州公司招聘
  • 简述电子商务网站的建站流程wordpress主题腾讯EDC