js获取变量的类型没有像PHP那样可以使用is_int,is_bool,is_string ..等等的函数判断,但实际应用中也有可能会用到。其实JS中也有这个功能,只是没有像PHP中方便,只要使用Object原型(prototype)的toString就可以完成这个功能。前段时间也看到JQuery内也使用了获取变量类型的操作,其思想一样,下面就以这段代码来分析,其实这个也没有什么特殊的强大派生功能,代码如下:

m = Object.prototype.toString //这个就是取出Object的原型prototype内的toString,整个功能的核心

E = {};//初始化对象

/*这段代码主要是给 E 循环添加所要的类型串,通过[]给对象添加属性,并且所有的都类型名转为小写保存在 E 中 (p 是JQuery对象)*/

p.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) {

E["[object " + b + "]"] = b.toLowerCase()

})

/* 判断类型的执行方法,前面的 String 可以直接转换 空(null在js里是一种数据类型,不等于'',false,0) 的变量,如果是其它的变量则可以通过Object原型内的toString来获取,但返回的内容都是   [object Number] 等字符串返回,当类型不存在时返回  object 。call的用法可能查看  js的call与apply  只要获取的类型串在 E 中有那么就可以返回 E 中指定的类型串*/

type: function(a) {

return a == null ? String(a) : E[m.call(a)] || "object"

}

可以看出整个核心代码就是 Object.prototype.toString.call(待取变量)

可能会想到为什么不是 Object.toString.call(待取变量)

但实际是这两种方法是不一个意思,所执行的方式也不是一样的,当然第二种方法是错误用法。prototype可以查看 js中的protorype原型

其实我们可以直接使用JQuery的type方法。当然必须引用JQuery文件才可以使用。在这个所拿出的代码是从(jQuery v@1.8.0)中抠取的,这段代码可还有一些类型不能判断,如 JSON 等。新版本的有。

js如何获取php中的变量的类型,js获取变量的类型相关推荐

  1. js取iframe 上级页面_原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法...

    用原生js在父页面获取iframe子页面的元素,以及在子页面获取父页面元素,这是平时经常会用到的方法,这里写一个例子来总结下: 1.父页面(demo.html),在父页面修改子页面div的背景色为灰色 ...

  2. php 获取字符串中的url,php使用正则表达式获取字符串中的URL

    今天写一个问答系统上线之后发现有很多人发链接了,由于业务部门要我们过滤掉网站地址了,下面我给大家分享一个提取字符串url地址函数,代码如下:$str ='本文实例讲述了php匹配字符串里所有URL地址 ...

  3. php获取数组中的全部可以吗,php获取数组中所有值的方法

    php的数组操作函数array_values 可以提取一个数组中所有元素值,具体的使用方法,可以参考下面的教程. array_values() 函数的作用是返回数组中所有元素的值,使用起来非常简单,只 ...

  4. Python入门--获取字典视图的三个方法#keys()-->获取字典中所有key#values()-->获取字典中的所有value#items()-->获取字典中所有key-value对

    #获取字典视图的三个方法 #keys()-->获取字典中所有key #values()-->获取字典中的所有value #items()-->获取字典中所有key-value对 ## ...

  5. Python列表(获取列表中指定元素的索引、获取列表中的多个元素、判断指定元素是否在列表中存在、列表元素的遍历、列表元素的增加操作、 列表元素的删除操作、列表元素的修改操作、列表元素的排序操作)

    1.获取列表中指定元素的索引 eg1:未指定索引范围查找索引 zyr=['憨憨','憨宝'] print(zyr.index('憨宝')) print(zyr[1]) eg2:在指定索引范围内查找元素 ...

  6. 获取库中的所有字段的描述/获取某个表中所有字段方法

    --获取库中的所有字段的描述 SELECT      [Table Name] = OBJECT_NAME(c.object_id),     [Column Name] = c.name,     ...

  7. 小程序开发--- 1. 获取数组中某个字段的值或获取列表索引

    最近开始自己琢磨开发微信小程序,遇到些问题,现在做一下总结. 今天有遇到一个需要获取到列表中某一项值,并在其他地方调用的问题.其实思路和获取列表索引的道理一样.如果你还不知道如何获取列表的索引,那么现 ...

  8. javascript如何获取html中的控件,Javascript-dom总结(获取页面控件)

    1. 根据id获取控件 document.getElementById('txt2') 2. 根据name获取一组控件(radiobutton) document.getElementsByName( ...

  9. mysql获取一行中多列的最大值_SQL 获取一行中多个字段的最大值

    需求描述: 在 chaos(id,v1,v2,v3) 表中获取每个 id 对应的 v1.v2.v3 字段的最大值,v1.v2.v3 同为数值类型. chaos 表的数据 >>>id  ...

  10. php 获取对象中的元素个数组长度,获取php类中的数组长度

    标签:php 我是php中面向对象编程的新手. 我创建了一个带有数组属性的简单订单类. 方法orderLength不起作用.我得到一个错误. Call to undefined method Orde ...

最新文章

  1. 区块链相关论文研读2 - vChain,关于可验证的查询
  2. FFmpeg RTMP推HEVC/H265流
  3. ant root环境配置_如何给root用户设置PATH环境变量
  4. Python 网络爬虫笔记4 -- 信息标记与提取
  5. 修改Eclipse自动换行长度
  6. source insight使用教程
  7. PHP微信公众平台源码 支持多账号 仿pigcms 小猪微信 已经修改完毕 完整可用
  8. cuSPARSE库:(九)cusparseSetStream()
  9. IBM T43 开机停止在LOGO画面
  10. C++ 动态连接库使用
  11. c语言 入字符要中文状态吗,常见的HTTP状态码深入理解
  12. 创建数据库以及该数据库下的表单
  13. axure如何导出原件_彻底抛弃WORD!教你用Axure快速输出高质量的PRD
  14. 互联网领袖高峰对话:大佬们之间的对掐
  15. RFID固定资产管理系统中的RFID标签的使用-新导智能
  16. 【机器学习经典算法】K近邻(KNN):核心与总结
  17. 基于滴滴云搭建安全稳定的 Memcached 服务器
  18. 项目环境搭建-logback.xml常用配置
  19. 自媒体到底有多赚钱?首选赛道推荐
  20. matlab 调整矩阵形状,在MATLAB中调整3D矩阵(图像)的大小

热门文章

  1. element-ui分页器的使用
  2. vue组件相关知识点
  3. vue学习笔记-1-初步认识
  4. 微信小程序wxml如何判断字符串中汉语某字符_如何获取别人微信小程序的源文件?...
  5. php data取年月,PHP-date函数 年、月、日参数详解
  6. java jdbc 参数 转义_jdbc URL中的各个参数详解
  7. 韩顺平 jdbc 之 mysql,(韩顺平讲解)jdbc学习(四)---java连接mysql
  8. java 循环字符_在Java中从循环结果创建字符串
  9. CMU 15-213 Introduction to Computer Systems学习笔记(13) Exceptional Control Flow: Exceptions and Process
  10. Applese 的毒气炸弹(最小生成树)