FCC笔记
Basic JavaScript
1.在计算机科学中 队列(queue)是一个抽象的数据结构,队列中的条目都是有秩序的。新的条目会被加到 队列
的末尾,旧的条目会从 队列
的头部被移出。任务:写一个函数 queue
,用一个数组arr
和一个数字item
作为参数。数字item
添加到数组的结尾,然后移出数组的第一个元素,最后队列函数应该返回被删除的元素。
2.中括号操作符的另一个使用方式是用变量来访问一个属性。当你需要遍历对象的属性列表或查表时,这种方式极为有用。提示:当我们通过变量名访问属性的时候,不需要给变量名包裹引号。因为实际上我们使用的是变量的值,而不是变量的名称。任务:使用变量 playerNumber
,通过中括号操作符找到 testObj
中 playerNumber
为 16
的值。
3.对象和字典一样,可以用来存储键/值对。如果你的数据跟对象一样,你可以用对象来查找你想要的值,而不是使用switch或if/else语句。当你知道你的输入数据在某个范围时,这种查找方式极为有效。任务: 把switch语句转化为一个叫做lookup的对象
4.有时检查一个对象属性是否存在是非常有用的,我们可以用.hasOwnProperty(propname)
方法来检查对象是否有该属性。如果有返回true
,反之返回 false
。任务:修改函数checkObj
检查myObj
是否有checkProp
属性,如果属性存在,返回属性对应的值,如果不存在,返回 "Not Found"
。注意:如果你需要通过变量来访问对象的属性值,请用中括号操作符,点操作符不支持变量。
5.提示:数组中有多个 JSON 对象的时候,对象与对象之间要用逗号隔开。任务:添加一个新专辑到 myMusic
的JSON对象。添加 artist
和 title
字符串,release_year
数字和 formats
字符串数组。
6.通过串联起来的点操作符或中括号操作符来访问JSON对象的嵌套属性。任务:检索JSON对象 myStorage
中嵌套属性 glove box
的值。因为属性的名字带有空格,请使用中括号操作符来访问属性的值。【语法错误:非法的返回语句】7.正如我们在前面的例子所见,JSON对象可以嵌套对象和数组。与访问嵌套对象一样,用中括号操作符同样可以访问嵌套数组。任务:使用点操作符和中括号操作符来检索变量
myPlants
的第二棵树。8.我们有一个对象数组,里面存储着通讯录。函数
lookUp
有两个预定义参数:firstName
值和prop
属性 。函数将会检查通讯录中是否存在一个与传入的 firstName
相同的联系人。如果存在,那么还需要检查对应的联系人中是否存在 prop
属性。如果它们都存在,函数返回prop
属性对应的值。如果firstName
值不存在,返回 "No such contact"
。如果prop
属性不存在,返回 "No such property"
。
9.对象拥有自己的特征,称为 属性
,对象还有自己的函数,称为 方法
。在前面的课程(构造函数)中,我们使用了 this
指向当前(将要被创建的)对象中的 公有属性
。我们也可以创建 私有属性
和 私有方法
,它们两个在对象外部是不可访问的。为了完成这个任务,我们在 构造函数
中,使用我们熟悉的 var
关键字去创建变量,来替代我们使用 this
创建 属性
。比如,我们想记录我们的car行驶的 speed
,但是我们希望外面的代码对 speed
的修改只能是加速或减速(而不是变成字符串、直接赋值成某个速度等其他操作),那么如何达到这类操作的目的呢?编辑器中的 构造函数
展示了如何实现这种控制模式。任务:修改 Bike
的 构造函数
,使它有一个名为 gear
的 私有属性
,还有两个公有方法,叫做 getGear
和 setGear
,这两个方法用来获得和设置 gear
的值。