埋情葬爱 2022-05-04 13:48:38
对象在转换为原始数据类型时:
- 先调用内置的
[toPrimitive](hint)
函数 - 若
hint
为string
,则尝试调用toString
和valueOf
- 若
hint
为number
,则尝试调用valueOf
和toString
- 若
hint
为default
,同number
逻辑 - 如果还未返回原始数据类型,则报错
当然也可重写Symbol.toPrimitive
,在做数据类型转换时调用优先级最高。
这样记忆会不会清楚点?至于基本数据类型转换为基本数据类型基本上见多了规则就熟悉了,或者说记住了。
埋情葬爱 2022-05-03 11:36:08
`function test(num) {
var str = num + "";
if(str.length > 1) {
var newStr = str.substring(str.length - 1);
var oldStr = str.substring(0, str.length - 1);
return newStr + test(oldStr)
} else {
return num
}
}
var s = test(1234);
console.log(s);`
埋情葬爱 2022-05-02 07:57:43
在30-seconds-of-code看到一个这个题的变形,分享一下
let unary = fn => val => fn(val)
let parse = unary(parseInt)
console.log(['1.1', '2', '0.3'].map(parse))
- 共 1 页
- 1
第 69 题: 如何把一个字符串的大小写取反(大写变小写小写变大写),例如 ’AbC' 变成 'aBc'