区分路径和标记字符串

时间:2013-12-03 19:09:38

标签: javascript

我有一个带有单个参数的javascript方法。该参数可以是一个路径(在这种情况下,函数将使用ajax来解析变量,一个函数(将被调用以解析变量)或有效标记(将直接使用)。

我正在寻找区分表示路径的字符串和表示标记的字符串的建议。

注意:如果标记无效,我不太关心

2 个答案:

答案 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部门),但它是一个起点。

演示:http://jsfiddle.net/4369k/