位置: 编程技术 - 正文

基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言)

编辑:rootadmin

推荐整理分享基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript基础,基于javascript的毕业设计,javascript基础,javascript运用,javascript运用,javascript基于什么的语言,javascript基于什么的语言,javascript基于什么的语言,内容如对您有帮助,希望把文章链接给更多的朋友!

typeof

ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。我们都知道可以使用typeof运算符求得一个变量的类型,但是对引用类型变量却只会返回object,也就是说typeof只能正确识别基本类型值变量。

您也许会问,为什么 typeof 运算符对于 null 值会返回 "object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。

最后一个比较奇怪,typeof一个不存在的变量x居然返回了"object"而不是"undefined"。

我们在来如下代码:

对于数组和对象都返回"object",因此我们日常开发中一个常见需求就是如何判断变量是数组还是对象。

类型判断

类型判断,一般就是判断是否是数组,是否是空对象。这是针对这个需求,我日常用过或见过的判断方法

判断是否是数组

有数组:var a = [1,2,3,4,5];

方法一:

基于javascript中的typeof和类型判断(详解)(javascript基于什么的语言)

toString.call(a); // "[object Array]"方法二:

a instanceof Array; //true方法三:

a.constructor == Array; //true 第一种方法比较通用,也就是Object.prototype.toString.call(a)的简写。

instanceof和constructor判断的变量,必须在当前页面声明的,比如,一个页面(父页面)有一个框架,框架中引用了一个页面(子页面),在子页面中声明了一个a,并将其赋值给父页面的一个变量,这时判断该变量,Array == object.constructor会返回false;

判断是否是空对象

有变量:var obj = {};

方法一:

JSON.stringify(obj); // "{}"通过转换成JSON对象来判断是否是空大括号

方法二:

if(obj.id){ //如果属性id存在....}这个方法比较土,大多数人都能想到,前提是得知道对象中有某个属性。

方法三:

这个方法是jQuery的isEmptyObject()方法的实现方式。

以上这篇基于javascript中的typeof和类型判断(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

javascript浏览器用户代理检测脚本实现方法 以下是完整的用户代理字符串检测脚本,包括检测呈现引擎、平台、Windows操作系统、移动设备和游戏系统。varclient=function(){//呈现引擎varengine={ie:0,gecko:0

JavaScript模拟实现封装的三种方式及写法区别 前言继承是使用一个子类继承另一个父类,那么子类可以自动拥有父类中的所有属性和方法,这个过程叫做继承!JS中有很多实现继承的方法,今天我给

Popup弹出框添加数据实现方法 本文实例为大家分享了Popup弹出框添加数据的具体代码,供大家参考,具体内容如下逻辑窗口P1中显示一组数据,并提供一个添加按钮点击按钮,弹出新

标签: javascript基于什么的语言

本文链接地址:https://www.jiuchutong.com/biancheng/368448.html 转载请保留说明!

上一篇:Tutorial 3: First Triangle

下一篇:javascript浏览器用户代理检测脚本实现方法(JavaScript浏览器打开)

  • 有限责任公司的股东人数为多少
  • 金税盘维护费全额抵扣吗
  • 居民转供电收费标准
  • 速达3000货品怎么入库
  • 如何调整所得税费用
  • 自然人合伙企业怎么交税
  • 资本公积与什么有关
  • 小企业外币交易
  • 企业所得税弥补亏损年限
  • 土地违约金怎么写合同
  • 处置子公司的收益
  • 企业缴存公积金比例
  • 免税和不免税的价格区别
  • 深圳制造业税收
  • 不需要抵扣的怎么直接进费用
  • 委托加工物资的消费税
  • 企业出售固定资产取得的净收益应列入的利润表项目是
  • 小微企业所得税减免政策2023
  • 企业借款利息收入企业所得税
  • windows11怎么打开设置
  • 收到上年度企业所得税退税款
  • 财务费用借方记负数的原因
  • 远程桌面连接失败了
  • elccest.exe是间谍广告程序吗 elccest进程有什么作用
  • kcleaner.exe是什么
  • 让绿萝疯长的妙招
  • PHP:finfo_open()的用法_fileinfo函数
  • 远程访问群晖nas
  • 其他债权投资减值可以转回吗
  • 车船税发票丢失
  • 学生个人网页制作html5
  • javaweb购物车设计报告
  • 毕业设计2022年幼儿园
  • 可解释深度学习:从感受野到深度学习的三大基本任务:图像分类,语义分割,目标检测,让你真正理解深度学习
  • php如何实现重载
  • 如何修改php网页内容
  • 公司的归属权
  • 预收款预缴增值税如何核算的
  • 财务费用报销流程最后环节出纳
  • 合伙企业对外投资需要全体合伙人同意吗
  • 成本计算的方法定额法
  • 原材料的采购成本包括哪些
  • 购买的商品用于什么
  • 未开票收入账务处理分录
  • 增值税普票遗失可以补开吗
  • 财务费用科目余额
  • 可转债不卖会亏钱吗
  • 附表1是什么意思
  • 医药企业研发费用构成
  • 哪些账簿可以跨市登记
  • 本月合计结账
  • 查看linux服务器内存命令
  • windows vista可以换7吗
  • 红帽子一个月能挣多少钱
  • winhelp.exe - winhelp是什么进程
  • MAC修改Dock烟雾效果及设置抓屏快捷键的方法
  • ScanMailOutLook.exe - ScanMailOutLook是什么进程 有什么用
  • win1020th2
  • 重装win7系统后鼠标键盘不能用
  • linux ids
  • windows mobile
  • win7打开文件总是询问
  • iptables -l -n
  • win10预览版好吗
  • Android: Receiving Data from the Send Intent,将自己的app注册系统分享
  • 从零基础到入门
  • android事件分发流程图
  • 基于JAVASCRIPT实现的可视化工具是
  • node.js中的http.get方法使用说明
  • python将结果写入excel
  • node.js调用c
  • javascript高级编程
  • android技术总结
  • js类的实现
  • javascript数组的本质
  • Python Requests安装与简单运用
  • 上海个人所得税优惠政策
  • 松原江北小吃一条街
  • 台州土地成交
  • 超豪华小汽车需要在什么环节纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设