Tôi có một hàm javscript (thực sự là một jQuery plugin) mà tôi sẽ muốn gọi là một trong haiLàm thế nào để tôi biết sự khác biệt giữa đối tượng và chuỗi trong javascript?
myFunction("some input");
hoặc
myFunction({ "prop": "value 1", "prop2": "value2" });
Làm thế nào để, trong hàm, nói với hai ngoài?
Nói cách khác, điều gì sẽ xảy ra trong điều kiện if
bên dưới?
if (/* the input is a string */)
{
// Handle string case (first of above)
}
else if (/* the input is an object */)
{
// Handle object case (second of above)
}
else
{
// Handle invalid input format
}
Tôi có jQuery theo ý của mình.
Cập nhật: Như đã đề cập trong một câu trả lời, nếu đầu vào là new String('some string')
, typeof(input)
sẽ trở lại 'object'
. Làm cách nào để thử nghiệm cho new String('')
, vì vậy tôi có thể xử lý theo cách tương tự như ''
?
Nếu đủ cho bạn, bạn có thể sử dụng 'jQuery.isPlainObject': http://api.jquery.com/jQuery.isPlainObject/ –