方法
了length
属性之外,字符串和数组对象都包含一些持有函数值的属性。
let doh = "Doh";
console.log(typeof doh.toUpperCase);
// → function
console.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());
// → 5
console.log(sequence);
// → [1, 2, 3, 4]
push
方法将值添加到数组的末尾,而pop
方法则相反,删除数组中的最后一个值并将其返回。
这些有点愚蠢的名字是栈的传统术语。 编程中的栈是一种数据结构,它允许你将值推入并按相反顺序再次弹出,最后添加的内容首先被移除。 这些在编程中很常见 - 你可能还记得前一章中的函数调用栈,它是同一个想法的实例。