84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
str 是一个js 函数的参数,函数的第一行先对 str作了这个操作:str = (str + '').toString();。 来源请戳: urlencode。 请问这是什么用意?
str = (str + '').toString();
人生最曼妙的风景,竟是内心的淡定与从容!
str + ''就够了 toString()是多此一举
str + ''
toString()
采用str + ''的形式是为了兼容undefined和null
你尝试下 2.toString() 你发现了什么?报错了!没错,是报错了。所以他这么写也许就是防止类似的情况发生。关于采纳上的答案上的说的多此一举,那就说不过去了。
作者说有些对象没有toString方法,所以他先通过+''转化成字符串,然后调用它的toString方法,这样避免在toString和replace时出现异常。
链接
如果实际给的入参str不是一个字符串,那么str + ''操作会将其强行转成字符串,这样之后对str做的诸如replace之类的字符串操作才不会因为str不是字符串而产生异常。
str
replace
str + ''
就够了toString()
是多此一举采用
str + ''
的形式是为了兼容undefined和null你尝试下 2.toString()
你发现了什么?报错了!没错,是报错了。所以他这么写也许就是防止类似的情况发生。
关于采纳上的答案上的说的多此一举,那就说不过去了。
作者说有些对象没有toString方法,所以他先通过+''转化成字符串,然后调用它的toString方法,这样避免在toString和replace时出现异常。
链接
如果实际给的入参
str
不是一个字符串,那么str + ''
操作会将其强行转成字符串,这样之后对str
做的诸如replace
之类的字符串操作才不会因为str
不是字符串而产生异常。