方法
了length属性之外,字符串和数组对象都包含一些持有函数值的属性。
let doh = "Doh";console.log(typeof doh.toUpperCase);// → functionconsole.log(doh.toUpperCase());// → DOH
每个字符串都有toUpperCase属性。 调用时,它将返回所有字母转换为大写字符串的副本。 另外还有toLowerCase。
有趣的是,虽然我们没有在调用toUpperCase时传递任何参数,但该函数访问了字符串"Doh",即被调用的属性所属的值。我们会在第 6 章中阐述这其中的原理。
我们通常将包含函数的属性称为某个值的方法。比如说,toUpperCase是字符串的一个方法。
此示例演示了两种方法,可用于操作数组:
let sequence = [1, 2, 3];sequence.push(4);sequence.push(5);console.log(sequence);// → [1, 2, 3, 4, 5]console.log(sequence.pop());// → 5console.log(sequence);// → [1, 2, 3, 4]
push方法将值添加到数组的末尾,而pop方法则相反,删除数组中的最后一个值并将其返回。
这些有点愚蠢的名字是栈的传统术语。 编程中的栈是一种数据结构,它允许你将值推入并按相反顺序再次弹出,最后添加的内容首先被移除。 这些在编程中很常见 - 你可能还记得前一章中的函数调用栈,它是同一个想法的实例。
