`
zhangyaochun
  • 浏览: 2614825 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于参数类型判断的一个短暂的思考写法

阅读更多

 

关于参数类型判断的api设计也做了很多,jQuery,prototype,tangram也有了很多,今天写个刚才随便写的。贴上

 

 

 

/*
其实关键就是array类型的判断
参数设置为两个
@param elem 要判断的对象或者其他
@param type 是否匹配的对象类型
@当然也有预定 type参数的指定因为和typeof返回比较 所以是小写
*/

function isRType(elem,type){
     //首先去拿typeof elem
     var Etype = typeof elem;
     //安全性防范 如果type没有定义用!undefined == true
     if(!type){
         //拿上面定义的typeof elem 去和undefined
         return Etype != 'undefined';
     }
     //处理array类型
     if(type === 'array' && (elem.hasOwnProperty && elem instanceof Array)){
         //对应array类型的判断稍微复杂一点
         //instanceof 验证原型对象和实例对象之间的关系
         return  true;
     }
     return Etype === type;   //非array类型的之间判断就可以了
}

//array类型判断
isRType([0,1,2],'array'); //true

//string类型判断
isRType('a','string');   //true
isRType('a','array');   //false

//object判断
isRType(window,'array'); //false
isRType(window,'object'); //false

//number类型测试
isRType(1,'number');   //true
isRType('1','number');  //false
1
0
分享到:
评论

相关推荐

    混合参数的写法

    标题中的“混合参数的写法”可能是指在编程中如何处理和使用不同类型的参数,比如字符串、数字、对象等混合在一起的情况。这种情况下,我们通常会涉及到数据类型转换、函数参数处理、对象解构等技术。 在编程语言中...

    107个常用Javascript语句参数写法

    `prompt("message")`弹出一个对话框,请求用户输入,并返回用户输入的值。 ### 24. 修改当前URL:`location.href` `window.location.href = "URL"`用于改变当前窗口的URL地址。 ### 25. 计算表单数量 `document....

    一个java 面向对象写法的判断回文数

    一个java 面向对象字符串写法的判断回文数 假如输入非数字 会提示输入数字 利用循环写的 大家多多支持

    C#SqlParameter参数写法

    使用`SqlParameter`进行参数化查询是.NET开发中的一个重要概念,它有助于确保数据安全性和提高执行效率。在实际应用中,建议尽可能使用参数化查询代替拼接SQL字符串的方式,尤其是在处理用户输入的情况下。此外,...

    泛型类型的写法

    泛型类型的写法1

    Python sorted 函数:Key参数,以及lambda 函数与常规写法区别

    在这个例子中,`lambda x: x % 2 == 0` 和 `demo(x)` 都实现了相同的功能,即判断一个数是否为偶数。然而,使用 `lambda` 函数的代码更短,更容易理解。这体现了 `lambda` 函数在某些情况下的优势。 ### 总结 综上...

    C#委托的另一种写法

    `BeginInvoke` 接受两个参数:一个是要调用的方法(在这里是委托类型实例),另一个是要传递给该方法的参数数组。通过这种方式,即使当前线程不是UI线程,也可以安全地更新UI组件。 #### 3. 更新UI的方法 ```...

    Hibernate框架]Hql语句in中带参数的写法

    一、HQL语句in中带参数的写法 在HQL语句中,使用in关键字可以实现集合参数的传递,例如: ```java String hql = "FROM Login login WHERE login.id in (:ids)"; ``` 其中,`:ids`是参数的名称,需要在map中进行设置...

    一年级数学日记的写法.pdf

    一年级数学日记的写法.pdf

    DB2常用SQL写法

    在DB2中,可以定义自己的数据类型,比如创建了一个名为`var_newtype`的自定义单值类型,它基于`decimal(5,2)`类型并支持比较操作。而`my_type`则是一个自定义结构数据类型,包含`username`、`department`和`salary`...

    RadioButton的清新写法

    在Java代码中,我们通常会为每个RadioButton设置一个点击监听器(OnClickListener或OnCheckedChangeListener),并在监听器内部实现逻辑判断,以确保每次只有一个RadioButton被选中。这种方式虽然直观,但存在代码...

    关于 MyBatis 我总结了 10 种通用的写法.docx

    如果传入的是单参数且参数类型是一个List,那么collection属性值为list。如果传入的是单参数且参数类型是一个数组,那么collection属性值为array。如果传入的参数是多个,那么需要将它们封装成一个Map,然后...

    变量传递的调参数真接写屏的直线的注释写法 yasm)

    - `Mader式读写扇区复制文件软件 4.0.exe`可能是一个磁盘工具,可能使用了汇编语言实现底层操作。 了解这些知识点后,你可以根据具体需求在`boot.asm`中编写相应代码,实现变量传递、函数调用和屏幕输出。同时,...

    PB脚本中SQL语句写法与SQL中语句写法对照

    一、Setfilter()函数中条件写法 在PB脚本中,Setfilter()函数用于筛选数据,在写法上与SQL语言不同。例如,将日期改成固定格式用:string(字段名,’yyyy-mm-dd’),可以与datetime型的数据做大小对比。 二、...

    易语言多线程传递文本参数两种方法

    1. **定义全局变量**:在程序开始时,声明一个全局变量(可以是字符串类型)用于存储参数。 ```易语言 .全局变量, 文本型, 全局参数 ``` 2. **设置全局变量**:在主线程中,将要传递的文本赋值给这个全局变量。 ...

    Group BY 的另一种写法

    在SQL查询中,`GROUP BY`语句是一个非常重要的部分,它用于对数据进行分组,以便我们可以对每个组执行聚合函数(如COUNT、SUM、AVG、MAX、MIN等)。`GROUP BY`通常的写法是直接指定需要分组的列名。然而,还有其他...

    调参数真接写屏的直线的注释写法

    在编程领域,特别是汇编语言编程中,"调参数真接写屏的直线的注释写法"通常指的是如何在程序中设置参数并直接控制显示器输出,同时在代码中添加清晰易懂的注释。YASM是现代x86汇编语言的一个优秀编译器,它支持NASM...

    C#无限参数的写法

    这个扩展方法接收一个`List<T>`实例和一个可变长度的`T`类型参数数组。它通过遍历数组并将每个元素添加到列表中,从而实现了将`params`参数转换为`List<T>`的功能。现在,你可以像这样使用`AddParas`方法: ```...

    关于动态规划求最大子段和的Java代码写法

    关于动态规划求最大子段和的Java代码写法 本文主要讲述了使用 Java 语言实现动态规划算法来求最大子段和的代码写法。动态规划是一种非常重要的算法设计技术,它可以解决许多复杂的问题。 首先,我们需要了解什么是...

    make写法

    make写法

Global site tag (gtag.js) - Google Analytics