我有一个带有单个参数的javascript方法。该参数可以是一个路径(在这种情况下,函数将使用ajax来解析变量,一个函数(将被调用以解析变量)或有效标记(将直接使用)。
我正在寻找区分表示路径的字符串和表示标记的字符串的建议。
注意:如果标记无效,我不太关心
答案 0 :(得分:0)
如果你坚持使用你所拥有的功能,那么你必须使用正则表达式来确定你得到的功能。问题在于,它可能容易出错。
最好传入一个对象,让对象根据它拥有的属性告诉你你有什么。
function myMethod( obj ) {
if (obj.path) {
console.log("I have a path:", obj.path);
} else {
console.log("I have a path:", obj.html);
}
}
myMethod({"path":"/foo/bar/"});
myMethod({"html":"<p>/foo/bar/</p>"});
答案 1 :(得分:0)
您可以使用以下内容:
function validate(param) {
if (typeof(param) == 'function') {
console.log('It is a function!')
} else if (typeof(param) == 'string') {
if (param.indexOf('http') == 0) {
console.log('It is a path!')
} else {
console.log('It is a markup!')
}
}
}
它远非完美(特别是在Path部门),但它是一个起点。