有关函数的任何想法将接收一个参数并通过JavaScript中的参数的字符串表示形式返回吗?
如果给定的对象实现了.toString(),那么该函数应该使用它。否则,该函数可以依赖JavaScript实现提供的内容。
所以我想出来就是这样。
var convert = function (arg) {
return (new String(arg)).valueOf();
}
答案 0 :(得分:16)
value = value+"";
答案 1 :(得分:15)
我不确定你是否需要一个功能,但这将是最短的方式:
function( arg ) {
return arg + '';
}
否则这是最短的方式:
arg += '';
答案 2 :(得分:9)
String(null)
返回 - " null"
String(undefined)
返回 - "未定义"
String(10)
返回 - " 10"
String(1.3)
返回 - " 1.3"
String(true)
返回 - " true"
我认为这是一种更加优雅的方式。
答案 3 :(得分:5)
JavaScript中的所有数据类型都会继承 toString
方法:
('hello').toString(); // "hello"
(123).toString(); // "123"
([1,2,3]).toString(); // "1,2,3"
({a:1,b:2}).toString(); // "[object Object]"
(true).toString(); // "true"
答案 4 :(得分:2)
如果定位到ES6或更高版本,则可以使用template literal:
function (arg) {
return `${arg}`;
}
答案 5 :(得分:0)
关于传递的JSON对象,其他答案不完整。所以我做了这个,它适用于所有人:
var getString = (o) => {
if (o) {
if (typeof o == 'string') {
return o;
} else {
return JSON.stringify(o);
}
} else {
return null;
}
}
或
var getString = function(o) {
if (o) {
if (typeof o == 'string') {
return o;
} else {
return JSON.stringify(o);
}
} else {
return null;
}
}
答案 6 :(得分:0)
JSON.stringify(value)
适用于空值、未定义、基元、数组和对象——基本上所有的东西。