javascript检查函数并给出输出(如果存在)
javascript checking for function and giving output if it exists
我需要一个脚本来检查一个函数是否在页面上,如果在,它会调用一个函数,如果不在,它还会调用另一个函数。我还需要脚本保持在网页上自动输入。
这就是我的想法:
if(Examplefunction)
difffunction();
else
otherfunction();
您需要小心检查JavaScript中可能未定义的名称。引用未定义的名称将产生错误:
> if (Examplefunction) console.log('exists'); else console.log('???')
ReferenceError: Examplefunction is not defined
但是,使用typeof
检查名称时,是安全的,无论该名称是否已定义。因此,要检查变量是否已定义为真实值,应使用:
if (typeof Examplefunction != 'undefined' && Examplefunction)
difffunction();
else
otherfuunction();
if(typeof name === 'function') {
name();
}
else {
// do whatever
}
请注意,这是一个糟糕的设计。例如,你无法检查它需要多少个参数。
它就像:一样简单
if(funcNameHere){
funcNameHere(); // executes function
console.log('function exists');
}
else{
someOtherFunction(); // you can always execute another function
console.log("function doesn't exist");
}
想要制作一个功能来完成这一切:
function funcSwitch(func1, func2){
var exc = func1 ? func1 : func2;
exc();
}
// check to see if `firstFunction` exists then call - or call `secondFunction`
fucSwitch(firstFunction, secondFunction);
当然,如果你不传递一个作为函数的变量,它就不会起作用。函数名基本上是一个用JavaScript中的()
执行的变量。如果你习惯了PHP,那么函数名必须是String。它是JavaScript中的一个变量。
相关文章:
- 一个密码测试程序,如果存在空格,它会提醒用户
- 从一个数组中移除字符串(如果存在于另一个数组)
- underline-js:将键对象与数组键对象进行比较,如果存在,则移除现有的添加新的
- 如果存在特定类,请不要添加类
- Shopify Liquid:如果存在价格比较,如何仅显示产品变体的价格比较
- 仅JavaScript-删除某些类(如果存在)
- jQuery脚本,它搜索现有的查询参数并且不添加“"如果存在
- jQuery-检查外部页面上是否存在DIV,如果存在,则加载DIV,否则加载另一个
- 如果存在event.preventDefault函数,则ajaxForm不起作用
- 如果存在Javascript,请删除多个类中的一个
- JavaScript:仅按字符或按字符+数字(如果存在)拆分字符串
- 如果存在Cookie,则JavaScript重定向
- 如果存在cookie,则自动执行Javascript
- Internet Explorer CSS类样式没有'如果存在具有相同类名的其他元素,则不适用
- 如果存在空单元格,DataTables将发出警告
- 如果存在跨度,则将类添加到链接
- Node.js Express应用程序:如果存在cookie,则从服务器端向元素添加CSS类
- jQuery按钮显示/隐藏类,如果存在类
- JQuery:如果存在具有相同 ID 的元素,则选择第二个元素
- 如果存在多个现有值,则向文本区域值添加分隔符 (Javascript)