埋情葬爱

文章 评论 浏览 29

埋情葬爱 2022-05-04 13:56:24
str
.split('')
.map((char) => {
	const code = char.charCodeAt()
	if (code >= 97) {
		return String.fromCharCode(code - 32)
	} else {
		return String.fromCharCode(code + 32)
	}
})
.join('')

第 69 题: 如何把一个字符串的大小写取反(大写变小写小写变大写),例如 ’AbC' 变成 'aBc'

埋情葬爱 2022-05-04 13:48:38

对象在转换为原始数据类型时:

  1. 先调用内置的[toPrimitive](hint)函数
  2. hintstring,则尝试调用toStringvalueOf
  3. hintnumber,则尝试调用valueOftoString
  4. hintdefault,同number逻辑
  5. 如果还未返回原始数据类型,则报错

当然也可重写Symbol.toPrimitive,在做数据类型转换时调用优先级最高。

这样记忆会不会清楚点?至于基本数据类型转换为基本数据类型基本上见多了规则就熟悉了,或者说记住了。

JavaScript 深入之头疼的类型转换(上)

埋情葬爱 2022-05-04 09:58:17

@sisterAn 规范里好像没提到 await 内部实现了 generator, 如果从 polyfill 中的实现去断定 await 内部就是 generator……这样好像有点不严谨……

另外 await 的例子其实可以转换为

var a = 0
var b = () => {
  var temp = a;
  Promise.resolve(10)
    .then((r) => {
      a = temp + r;
    })
    .then(() => {
      console.log('2', a)
    })
}
b()
a++
console.log('1', a)

第 12 题:JS 异步解决方案的发展历程以及优缺点

埋情葬爱 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);`

第 99 题:编程算法题

埋情葬爱 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))

第 2 题:['1', '2', '3'].map(parseInt) what & why ?

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文