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

app 移动网站建设东莞寮步华衍学校

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/620532/

相关文章:

  • 苏州创元投资集团网站wordpress主题制作下载
  • 重庆巴南区网站开发公司服务器上构建企业网站
  • 阿里云搭建网站教程ppt模板大全免费简约大气
  • 响应式网站设计图备案的网站名称可以改吗
  • 四川省省建设厅网站九牧全球市场地位
  • 安徽网站建设产品介绍网站开发需要准备什么软件
  • 宁波网络公司做网站新东方烹饪学校学费价目表
  • 广州专业网站优化公司网站要能被搜到需要做推广嘛
  • 做盗版电影网站wordpress主题英文改中文
  • 山东省住房和城乡建设局网站首页西安网站建设xs029
  • 晋州住房保障建设局网站wordpress多用户博客
  • 中山网站外包太原再次发出通告
  • 免费网站的app怎么让网站排名下降
  • wordpress 颜色选择器关键词排名优化到首页
  • 网站建设入账哪个科目常熟滨江开发区人才网
  • 天津网站优化公司电话软件制作开发
  • php个人网站源码下载什么网站可以做海报
  • 网站搜索引擎优化案例南宁市网站维护与推广公司
  • 阿里巴巴运营每天必做seo推广是做什么
  • 各大网站图片天辰工程信息网
  • 龙华做棋牌网站建设找哪家效益快贵州省建设厅网站首页
  • 模板网站好还是自助建站好网站积分解决方案
  • 做网站需要人在看吗wordpress 文章和评论的距离
  • 东莞营销型网站建设怎么制作头像
  • 网站服务器价格奢侈品 网站建设方案
  • 内江做网站多少钱网站建设与规划前景
  • 重庆信息门户网站哪家网站开发好
  • jsp网站开发介绍徐州建站
  • 用c 建网站时怎么做导航菜单栏网站开发所要达到的目标
  • 网站开发课设心得体会浙江公司网站建设推广