检测一个对象方法是否存在

function isHostMethod(object, property)   {
    var t = typeof object[property];
    return t == ’function’ || (!!(t==’object’ && object[property])) || t == ’unknown’;
}

主要是考虑到浏览器兼容性,在ie8之前dom方法返回object,ie专有对象ActiveXObject一些方法会返回 unknown

时间: 2024-10-05 05:07:48

检测一个对象方法是否存在的相关文章

JavaScript学习笔记:检测数组方法

很多时候我们需要对JavaScript中数据类型( Function . String . Number . Undefined . Boolean 和 Object )做判断.在JavaScript中提供了typeof操作符可以对这些常用的数据类型做判断.但要使用typeof来判断数据是不是一个数组,就不起作用了.那在实际生产中要如何来检测数据是不是一个数组呢? 今天的学习任务就是如何来检测一个数据是不是数组? typeof操作符 typeof 可以解决大部分数据类型的检测,如: 1 cons

ARC中用代码检测一个对象有没有释放掉

你试过在ARC中用代码检测对象有没有释放掉这种事情呢?即使你想过肯定也不知道怎么去实现,因为,这里会用到一个你基本上没怎么接触过的类:NSHashTable. 我们以检测导航控制器push出一个新的控制器为例,以下是效果: 所有你需要的源码: ObjectDetector.h + ObjectDetector.m // // ObjectDetector.h // ARCBlock // // Copyright (c) 2014年 Y.X. All rights reserved. // #i

检测某个方法是否属于某个类中--解析php函数method_exists()与is_callable()的区别

php函数method_exists() 与is_callable()的区别在哪?在php面相对象设计过程中,往往我们需要在调用某一个方法是否属于某一个类的时候做出判断,常用的方法有 method_exists()和is_callable() 相比之下,is_callable()函数要高级一些,它接受字符串变量形式的方法名作为 第一个参数,如果类方法存在并且可以调用,则返回true.如果要检测类中的方法是否能被调用,可以给函数传递一个数组而不是类的方法名作为参数.数组必须包含对象或类名,以将其作

检测http方法是否开启put方法

安装如下httpRequester插件 检测方法如下: 进入插件

Objective-C 【动态类型检测&响应方法】

------------------------------------------- 动态类型检测 代码: #import <Foundation/Foundation.h> @interface Animal : NSObject -(void)run; -(void)abc; @end @implementation Animal -(void)run { NSLog(@"Animal run!"); } -(void)abc { NSLog(@"abc!&

ios(ipad,iphone)屏幕旋转检测通用方法

在特别的场景下,需要针对屏幕旋转作特殊处理.在ios系统下实现相关的功能还是比较方便的. 我下面介绍两种方法: 1.注册UIApplicationDidChangeStatusBarOrientationNotification通知(举例:在一个viewcontroller类的viewdidload中注册该通知),示例代码如下: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarO

检测一个对象是否是数组类型

共有四种方式 [1]使用Array.prototype.isPrototypeOf(obj) [2]obj instanceof Array 对象 是不是 构造函数的实例 [3]obj.constructor==Array 仅判断直接父级 [说明]obj.constructor所有的原型对象都有constructor,指回原型对应的构造函数. [4]利用当前对象,强行调用原始的toString方法 Object.prototype.toString.call(obj)=="[object Arr

转: js实现全角半角检测的方法

//全角半角校验 function issbccase(strTmp) { for (var i=0; i<strTmp.length; i++) { if (strTmp.charCodeAt(i) > 128){ return true; console.log("全角") break; } } return false; } 原文地址:https://www.cnblogs.com/ilimengyang/p/8946688.html

JS 中检测数组的四种方法

今天和大家分享一下 JS 中检测是不是数组的四种方法,虽然篇幅不长,不过方法应该算是比较全面了. 1. instanceof 方法 instanceof 用于检测一个对象是不是某个类的实例,数组也是一种对象所以也可以利用 instaceof 来进行判断. let arr = [1, 2, 3]; console.log(arr.instanceof(Array)); // true 这种方法在只有一个全局作用域的环境下是可以的,但是如果一个网页中包含多个框架,那么就会存在不同的全局环境,不同的环