Success & $$$ don't impress me, kindness & humility do.
Success & $$$ don't impress me, kindness & humility do.

Subscribe to aow

Subscribe to aow
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers
大概还有30个练习我们就能学完JS的基础知识了。
Build JavaScript Objects
object是一个非常重要的概念,它很像array,不同点在于array里面装的data是通过排序(Index)来标注,比如myArray[0], myArray[8]等等,而object是通过命名来标注,比如
猫【名字:kitty,年龄:2,性别:公】这样子,更符合我们现实世界中对物品属性的标注。
const cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
// object中的各种“标签”,比如上面的”name”, “legs”等,都是属于string,所以别忘了加 “ ”。
Accessing Object Properties with Dot Notation
Accessing Object Properties with Bracket Notation
access array中的data需要用[ ],而在object中,由于有了“标签”,可以用 .标签的方式和 [ ]对方式都ok。
当标签中带空格的时候,比如 “ family name”,那么用[“family name”],而不能用.family name,因为计算机无法识别后者。
Accessing Object Properties with Variables
在object中,除了直接引用标签外,还可以用variable赋值。
const testObj = {
12: "Namath",
16: "Montana",
19: "Unitas"
};
const playerNumber = 16;
const player = testObj[playerNumber];
这样就可以找到testObj这个object中标签为16的项。
同样的,只需要重新赋值playNumer = 19, 就可以找到标签为19的项。以此类推。
Updating Object Properties
object里面的property是可以被修改的。比如
const myDog = {
"name": "Coder",
"legs": 4,
"tails": 1,
"friends": ["freeCodeCamp Campers"]
};
myDog.name = "Happy Coder";
修改方式有两种,可以用.property 或者 [“property”],和之前说的一样。
Add New Properties to a JavaScript Object
增加property和修改的操作是一样的。
Delete Properties from a JavaScript Object
删除怎么办呢?我们使用delete这个命令。
const myDog = {
"name": "Happy Coder",
"legs": 4,
"tails": 1,
"friends": ["freeCodeCamp Campers"],
"bark": "woof"
};
delete myDog.tails;
很简单。
Using Objects for Lookups 一个非常有意思的练习。可以把它理解成object可以当作词典使用。
当我们明确知道检索对象是一个有限的目录时,与其通过if statement或者switch去循环验证条件,还不如把整个检索对象编译成一个object,然后通过一个function的关键词去检索找到结果。
function phoneticLookup(val) {
let result = "";
const lookup = {
"alpha": "Adams",
"bravo": "Boston",
"charlie": "Chicago",
"delta": "Denver",
"echo": "Easy",
"foxtrot": "Frank"
};
result = lookup[val];
return result;
}
phoneticLookup("charlie");
这里,我们通过把result赋值给object lookup的一个检索项,来返回function phoneticLookup的数据。
Testing Objects for Properties
这里讲到一个验证property是否存在的方式 : .hasOwnProperty(propname)
如果存在,会返回true,不存在,返回false。
然后练习部分通过一个function的方式,两个arguments一个是object,另一个是待验证的property,来使用这个.hasOwnProperty命令,得到简洁的结果。
function checkObj(obj, checkProp) {
if (obj.hasOwnProperty(checkProp)){
return obj[checkProp];
} else {
return "Not Found";
}
}
Manipulating Complex Objects
Accessing Nested Objects
Accessing Nested Arrays
Record Collection
obejct中可以放很多不同类型的data type,比如arrays, booleans, number, string, function甚至嵌套object。
总之,object就是一个大词典,什么都能装。
这里,无论access array还是objects, 方法之前都讲过,很简单,唯一需要的是细心。
个人感觉代码入门之后,语法什么的都不是问题,和财务有点像,大部分时候都是在解决因为粗心或者思路错误带来的问题。
好了,今天的练习先到这里,object这个概念初体验完成,概念很简单,但是基础很重要。
明天学习loops,然后所有的基础知识应该能学完。
在这里和这里也可以找到我。
大概还有30个练习我们就能学完JS的基础知识了。
Build JavaScript Objects
object是一个非常重要的概念,它很像array,不同点在于array里面装的data是通过排序(Index)来标注,比如myArray[0], myArray[8]等等,而object是通过命名来标注,比如
猫【名字:kitty,年龄:2,性别:公】这样子,更符合我们现实世界中对物品属性的标注。
const cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
// object中的各种“标签”,比如上面的”name”, “legs”等,都是属于string,所以别忘了加 “ ”。
Accessing Object Properties with Dot Notation
Accessing Object Properties with Bracket Notation
access array中的data需要用[ ],而在object中,由于有了“标签”,可以用 .标签的方式和 [ ]对方式都ok。
当标签中带空格的时候,比如 “ family name”,那么用[“family name”],而不能用.family name,因为计算机无法识别后者。
Accessing Object Properties with Variables
在object中,除了直接引用标签外,还可以用variable赋值。
const testObj = {
12: "Namath",
16: "Montana",
19: "Unitas"
};
const playerNumber = 16;
const player = testObj[playerNumber];
这样就可以找到testObj这个object中标签为16的项。
同样的,只需要重新赋值playNumer = 19, 就可以找到标签为19的项。以此类推。
Updating Object Properties
object里面的property是可以被修改的。比如
const myDog = {
"name": "Coder",
"legs": 4,
"tails": 1,
"friends": ["freeCodeCamp Campers"]
};
myDog.name = "Happy Coder";
修改方式有两种,可以用.property 或者 [“property”],和之前说的一样。
Add New Properties to a JavaScript Object
增加property和修改的操作是一样的。
Delete Properties from a JavaScript Object
删除怎么办呢?我们使用delete这个命令。
const myDog = {
"name": "Happy Coder",
"legs": 4,
"tails": 1,
"friends": ["freeCodeCamp Campers"],
"bark": "woof"
};
delete myDog.tails;
很简单。
Using Objects for Lookups 一个非常有意思的练习。可以把它理解成object可以当作词典使用。
当我们明确知道检索对象是一个有限的目录时,与其通过if statement或者switch去循环验证条件,还不如把整个检索对象编译成一个object,然后通过一个function的关键词去检索找到结果。
function phoneticLookup(val) {
let result = "";
const lookup = {
"alpha": "Adams",
"bravo": "Boston",
"charlie": "Chicago",
"delta": "Denver",
"echo": "Easy",
"foxtrot": "Frank"
};
result = lookup[val];
return result;
}
phoneticLookup("charlie");
这里,我们通过把result赋值给object lookup的一个检索项,来返回function phoneticLookup的数据。
Testing Objects for Properties
这里讲到一个验证property是否存在的方式 : .hasOwnProperty(propname)
如果存在,会返回true,不存在,返回false。
然后练习部分通过一个function的方式,两个arguments一个是object,另一个是待验证的property,来使用这个.hasOwnProperty命令,得到简洁的结果。
function checkObj(obj, checkProp) {
if (obj.hasOwnProperty(checkProp)){
return obj[checkProp];
} else {
return "Not Found";
}
}
Manipulating Complex Objects
Accessing Nested Objects
Accessing Nested Arrays
Record Collection
obejct中可以放很多不同类型的data type,比如arrays, booleans, number, string, function甚至嵌套object。
总之,object就是一个大词典,什么都能装。
这里,无论access array还是objects, 方法之前都讲过,很简单,唯一需要的是细心。
个人感觉代码入门之后,语法什么的都不是问题,和财务有点像,大部分时候都是在解决因为粗心或者思路错误带来的问题。
好了,今天的练习先到这里,object这个概念初体验完成,概念很简单,但是基础很重要。
明天学习loops,然后所有的基础知识应该能学完。
在这里和这里也可以找到我。
No activity yet