JavaScript中判断函数、变量是否存在
一、是否存在指定函数
function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; }
二、类似PHP常用的判断函数是否存在,不存在则创建
if (typeof String.prototype.endsWith != 'function') { String.prototype.endsWith = function(suffix) { return this.indexOf(suffix, this.length - suffix.length) !== -1; }; }
三、判断js函数是否存在,如果存在则执行
假设funcName为函数名字,用如下方法就可以达到目标
一定要添加try catch块,否则不起作用。
try { if(typeof(eval(funcName))=="function") { funcName(); } }catch(e) { //alert("not function"); }
四、是否存在指定变量
function isExitsVariable(variableName) { try { if (typeof(variableName) == "undefined") { //alert("value is undefined"); return false; } else { //alert("value is true"); return true; } } catch(e) {} return false; }
一般情况下,我们单独判断变量是否存在都是用
if("undefined" != typeof downlm){ if(downlm=="soft"){ document.write('成功'); } }
这样就不会因为直接使用变量导致出错了,适用于页面改版,旧页面没有变量赋值的情况。
相关推荐
-
Javascript 判断是否存在函数的方法
复制代码 代码如下: window.onload=function(){ try{ if(test&&typeof(test)=="function"){ test(); }else{ alert("不存在的函数"); } }catch(e){ } } function test(){ alert("函数执行--"); } 如果不存在,会抛出异常,所以要加try--catch.
-
JavaScript判断页面加载完之后再执行预定函数的技巧
JavaScript 脚本语言的执行,是需要触发的.一般的做法就是在网页中,直接编写几个函数,有的在代码被加载的时候就被浏览器处理,或者使用类似下面的代码来触发实现函数的相关功能. <div id="link" onclick="fun()" ></div> 上面代码的意思就是,当鼠标点击 id 为 link 的元素的时候,就触发了它的 onclick 事件,然后执行使用 JavaScript 定义的 fun 函数.这样的做法肯定是很不合理的
-
JavaScript中判断变量是数组、函数或是对象类型的方法
数组 ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持.考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代. 复制代码 代码如下: var isArray = Array.isArray || function(obj) { return Object.prototype.toString.call(obj) === '[object
-
javascript判断css3动画结束 css3动画结束的回调函数
css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画是否结束:即使是采用CSS技术生成动画效果,JavaScript仍然能捕获动画或变换的结束事件: transitionend事件和animationend事件标准的浏览器事件,但在WebKit浏览器里你仍然需要使用webkit前缀,所以,我们不得不根据各种浏览器分别检测事件 复制代码 代码如下: var transitions = { 'transition':'transitionend',
-
js 判断js函数、变量是否存在的简单示例代码
核心代码 //是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; } //是否存在指定变量 function isExitsVariable(variableName) { try { if (typeof(variableName) == "undef
-
JavaScript基于自定义函数判断变量类型的实现方法
本文实例讲述了JavaScript基于自定义函数判断变量类型的实现方法.分享给大家供大家参考,具体如下: 通常用typeof来判断js变量的类型,但很多时候仅仅typeof满足不了要求的. 我写了一个自定义函数来做这个事,判断的比较全面了. function varType(v){ if ( typeof v=== "object" ){ if (v=== null ) return 'null' ; if (v. constructor ) return (v. constructo
-
JavaScript中判断原生函数检查function是否是原生代码
我总是经常碰到需要检查某个function是否是原生代码的情况 -- 这是功能测试中一个很重要的内容: 函数是浏览器内置支持的,还是通过第三方类库模拟的.要检测这一点,最简单的办法当然是判断函数的 toString 方法返回的值啦. JavaScript代码 判断函数是否是原生方法其实相当简单: // 判断是否原生函数 function isNative(fn) { // 示例: // alert.toString() // "function alert() { [native code] }
-
JS自定义函数对web前端上传的文件进行类型大小判断
废话不多说了直接给大家贴js代码了.具体代码如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <me
-
JavaScript判断变量是否为空的自定义函数分享
JavaScript本身没有判断一个变量是不是空值的函数,因为变量有可能是string,object,number,boolean等类型,类型不同,判断方法也不同.所以在文章中写了一个函数,用以判断JS变量是否空值,如果是undefined, null, '', NaN,false,0,[],{} ,空白字符串,都返回true,否则返回false 复制代码 代码如下: function isEmpty(v) { switch (typeof v) { case 'undefine
-
浅谈JavaScript函数的四种存在形态
函数的四种存在形态: 1.函数形态 2.方法形态 将函数赋值给某一个对象的成员,那么就称为方法 3.构造器形态 4.上下文形态 1.函数形态: var foo = function() { alert(this); //this是window }; 2.方法形态: o = {}; o.foo = foo; //将函数foo赋值给对象o的foo属性 o.foo(); //弹出的是object,此时的this表示object var lib = { test:function() { alert(t
-
判断数组是否包含某个元素的js函数实现方法
判断数组是否包含某个元素的js函数实现方法 Array.prototype.contains = function(obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; } 或 Array.prototype.contains = function(element) { for (var i = 0; i < this.length; i++) { if (t
-
JS简单判断函数是否存在的方法
本文实例讲述了JS简单判断函数是否存在的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <hea
-
javascript版的in_array函数(判断数组中是否存在特定值)
我们经常会用到这个一样逻辑,判断一个字符串或者数字是否在数组内,很多程序语言都有这样一样专门的函数,比如PHP的in_array().那么JS有木有呢,很遗憾,JS木有这样的函数,于是想到伟大的JQ是否封装了这个函数,找到了API,JQ的确封装了这个函数jQuery.inArray( value, array ) 搜索数组中指定值并返回它的索引(如果没有找到则返回-1).value要搜索的值.array一个数组,通过它来搜索. 当然,处于学习,自己也去写了这样的函数: 复制代码 代码如下: fu
随机推荐
- ASP.NET连接sql2008数据库的实现代码
- 活用2003的“分区增容”功能
- 给Win2K系统加装纯DOS支持
- 详解如何用OpenCV + Python 实现人脸识别
- ASP.NET中TimeSpan的用法实例解析
- javascript 节点遍历函数
- 深入浅析php json 格式控制
- phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
- php实现用于验证所有类型的信用卡类
- Linux环境mysql5.7.12安装教程
- mysql alter table命令修改表结构实例
- javascript实现的闭包简单实例
- php float不四舍五入截取浮点型字符串方法总结
- java代理 jdk动态代理应用案列
- PHP设计模式之命令模式的深入解析
- sqlserver 不能将值NULL插入列id(列不允许有空值解决)
- node.js实现逐行读取文件内容的代码
- Restify中接入Socket.io报Error:Can’t set headers的错误解决
- 轻松学习C#的抽象类
- Android获取手机本机号码的实现方法