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中判断原生函数检查function是否是原生代码
我总是经常碰到需要检查某个function是否是原生代码的情况 -- 这是功能测试中一个很重要的内容: 函数是浏览器内置支持的,还是通过第三方类库模拟的.要检测这一点,最简单的办法当然是判断函数的 toString 方法返回的值啦. JavaScript代码 判断函数是否是原生方法其实相当简单: // 判断是否原生函数 function isNative(fn) { // 示例: // alert.toString() // "function alert() { [native code] }
-
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版的in_array函数(判断数组中是否存在特定值)
我们经常会用到这个一样逻辑,判断一个字符串或者数字是否在数组内,很多程序语言都有这样一样专门的函数,比如PHP的in_array().那么JS有木有呢,很遗憾,JS木有这样的函数,于是想到伟大的JQ是否封装了这个函数,找到了API,JQ的确封装了这个函数jQuery.inArray( value, array ) 搜索数组中指定值并返回它的索引(如果没有找到则返回-1).value要搜索的值.array一个数组,通过它来搜索. 当然,处于学习,自己也去写了这样的函数: 复制代码 代码如下: fu
-
javascript判断css3动画结束 css3动画结束的回调函数
css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画是否结束:即使是采用CSS技术生成动画效果,JavaScript仍然能捕获动画或变换的结束事件: transitionend事件和animationend事件标准的浏览器事件,但在WebKit浏览器里你仍然需要使用webkit前缀,所以,我们不得不根据各种浏览器分别检测事件 复制代码 代码如下: var transitions = { 'transition':'transitionend',
-
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
-
判断数组是否包含某个元素的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
-
JavaScript判断变量是否为空的自定义函数分享
JavaScript本身没有判断一个变量是不是空值的函数,因为变量有可能是string,object,number,boolean等类型,类型不同,判断方法也不同.所以在文章中写了一个函数,用以判断JS变量是否空值,如果是undefined, null, '', NaN,false,0,[],{} ,空白字符串,都返回true,否则返回false 复制代码 代码如下: function isEmpty(v) { switch (typeof v) { case 'undefine
-
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
-
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函数的四种存在形态
函数的四种存在形态: 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
随机推荐
- maven中pom.xml详细介绍
- Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
- jQuery Autocomplete简介_动力节点Java学院整理
- 详解Vue 普通对象数据更新与 file 对象数据更新
- javascript表单正则应用
- Java模拟栈和队列数据结构的基本示例讲解
- Swift调用Objective-C代码
- 百度前台js笔试题与答案
- shiro授权的实现原理
- Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
- 微信公众平台开发之地理位置.Net代码解析
- node.js中使用Export和Import的方法
- MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解决办法
- Javascript实现的CSS代码高亮显示
- JSP和JSTL获取服务器参数示例
- JavaScript数值千分位格式化的两种简单实现方法
- thinkjs之页面跳转同步异步操作
- 在RHEL 6.5上使用yum更新/安装软件的操作方法
- 线程池的原理与实现详解
- java实现任意四则运算表达式求值算法