我有一個採用單個參數的javascript方法。該參數可以是一個路徑(在這種情況下,函數將使用ajax來解析變量,函數(將被調用來解析變量,或者有效標記(將直接使用))。尋找建議,表示路徑的字符串和表示標記的字符串區分區分路徑和標記字符串
注:我不是太擔心,如果標記爲無效
我有一個採用單個參數的javascript方法。該參數可以是一個路徑(在這種情況下,函數將使用ajax來解析變量,函數(將被調用來解析變量,或者有效標記(將直接使用))。尋找建議,表示路徑的字符串和表示標記的字符串區分區分路徑和標記字符串
注:我不是太擔心,如果標記爲無效
那麼,如果你被卡住你得到了功能,那麼你就不得不用正則表達式來確定你所得到的結果了,問題在於,它可能容易出錯
你最好傳遞一個對象,讓對象根據它具有的屬性來告訴你你有什麼。
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>"});
您可以使用這樣的事情:
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!')
}
}
}
這是遠遠不夠完善(尤其是在道路部門),但它是一個起點。