源码可以做网站吗,可用来做外链推广的网站,手机优化电池充电要开吗,国外黄土网站注#xff1a;最后有面试挑战#xff0c;看看自己掌握了吗 文章目录 在 Switch 语句添加多个相同选项从函数返回布尔值--聪明方法undefined创建 JavaScript 对象通过点号表示法访问对象属性使用方括号表示法访问对象属性通过变量访问对象属性给 JavaScript 对象添加新属性删除…注最后有面试挑战看看自己掌握了吗 文章目录 在 Switch 语句添加多个相同选项从函数返回布尔值--聪明方法undefined创建 JavaScript 对象通过点号表示法访问对象属性使用方括号表示法访问对象属性通过变量访问对象属性给 JavaScript 对象添加新属性删除对象的属性使用对象进行查找测试对象的属性 I could be bounded in a nutshell and count myself a king of infinite space. 特别鸣谢木芯工作室 、Ivan from Russia 在 Switch 语句添加多个相同选项
如果你忘了给 switch 的每一条 case 添加 break那么后续的 case 会一直执行直到遇见 break 为止。 如果你想为 switch 中的多个不同的输入设置相同的结果可以这样写
let result ;
switch (val) {case 1:case 2:case 3:result 1, 2, or 3;break;case 4:result 4 alone;
}这样1、2、3 都会有相同的结果。
从函数返回布尔值–聪明方法
你应该还记得 相等运算符 这道挑战题。在那里我们提到所有比较操作符都会返回布尔值要么是true要么是false。
有时人们通过 if/else 语句来做比较像这样。
function isEqual(a, b) {if (a b) {return true;} else {return false;}
}但有更好的方式来达到相同的效果。 既然 返回 true 或 false 我们可以直接返回比较结果
function isEqual(a, b) {return a b;
}undefined
提示 记住 undefined 是关键字 不是字符串. 修改函数 abTest 当 a 或 b 小于 0 时函数立即返回一个 undefined 并退出。
提示 记住 undefined 是关键字 不是字符串.
创建 JavaScript 对象
你之前可能听过 object 这个词。
对象和 arrays 类似区别在于数组使用索引来访问和修改数据而对象中的数据是通过 properties 访问的。
对象非常适合用来存储结构化数据可以表示真实世界中的物体比如一只猫。
这里是一个猫对象的样本
const cat {name: Whiskers,legs: 4,tails: 1,enemies: [Water, Dogs]
};在此示例中所有属性都存储为字符串例如 name、legs 和 tails。 然而你也可以使用数字作为属性。 你甚至可以省略单字字符串属性中的引号如下所示
const anotherObject {make: Ford,5: five,model: focus
};然而如果你的对象有非字符串属性的话JavaScript 会自动将它们转为字符串。
通过点号表示法访问对象属性
和访问数组类似访问对象属性有两种方式点号表示法.和方括号表示法[]。
如果我们已经提前知道要访问的属性名使用点号表示法是最方便的。
这里是一个用点符号.读取对象属性的示例
const myObj {prop1: val1,prop2: val2
};const prop1val myObj.prop1;
const prop2val myObj.prop2;prop1val 的值将为字符串 val1并且prop2val 的值将为字符串 val2。
使用方括号表示法访问对象属性
访问对象属性的第二种方式是方括号表示法[]。 如果你想访问的属性名中包含空格就必须使用方括号表示法来获取它的属性值。
当然如果属性名不包含空格也可以使用方括号表示法。
这是一个使用方括号表示法读取对象属性的例子
const myObj {Space Name: Kirk,More Space: Spock,NoSpace: USS Enterprise
};myObj[Space Name];
myObj[More Space];
myObj[NoSpace];myObj[“Space Name”] 将会是字符串 KirkmyObj[‘More Space’] 将会是字符串 Spock并且myObj[“NoSpace”] 将会是字符串 USS Enterprise。
注意如果属性名中包含空格就必须使用引号单引号或双引号将它们包裹起来。
通过变量访问对象属性
对对象上使用方括号表示法还可以访问对象上作为变量值存储的属性。 当你需要遍历对象的所有属性或者根据一个变量的值查找对应的属性值时这种写法尤其适用。
以下是一个使用变量来访问属性的例子
const dogs {Fido: Mutt,Hunter: Doberman,Snoopie: Beagle
};const myDog Hunter;
const myBreed dogs[myDog];
console.log(myBreed);字符串 Doberman 将会出现在控制台中。
请注意我们在使用变量名访问属性时不要使用引号引起来因为我们使用的是 值而不是 属性名。
给 JavaScript 对象添加新属性
你也可以像更改属性一样给 JavaScript 对象添加属性。
这里展示了如何给 ourDog 添加一个属性 bark
ourDog.bark bow-wow;或者
ourDog[bark] bow-wow;现在当我们执行 ourDog.bark 时就能得到他的叫声bow-wow。
例如
const ourDog {name: Camper,legs: 4,tails: 1,friends: [everything!]
};ourDog.bark bow-wow;
删除对象的属性
我们同样可以删除对象的属性例如
delete ourDog.bark;例如
const ourDog {name: Camper,legs: 4,tails: 1,friends: [everything!],bark: bow-wow
};delete ourDog.bark;在上面代码的最后一行中ourDog 是这样的
{name: Camper,legs: 4,tails: 1,friends: [everything!]
}删除 myDog 对象的 tails 属性。 可以使用点操作符或者中括号操作符。
使用对象进行查找
对象和字典一样可以用来存储键/值对。 如果数据是扁平的你可以用对象来查找你想要的值而不是链式使用 switch 或 if/else 语句。 当你知道你的输入数据在某个范围时这种查找方式极为有效。
这是一个文章对象的示例
const article {title: How to create objects in JavaScript,link: https://www.freecodecamp.org/news/a-complete-guide-to-creating-objects-in-javascript-b0e2450655e8/,author: Kaashan Hussain,language: JavaScript,tags: TECHNOLOGY,createdAt: NOVEMBER 28, 2018
};const articleAuthor article[author];
const articleLink article[link];const value title;
const valueLookup article[value];articleAuthor 是字符串 Kaashan HussainarticleLink 是字符串 https://www.freecodecamp.org/news/a-complete-guide-to-creating-objects-in-javascript-b0e2450655e8/valueLookup 是字符串 How to create objects in JavaScript。
把 switch 语句转化为对象 lookup 调用。 使用它来查找 val 属性的值并赋值给 result 变量。
测试对象的属性
要检查某个对象是否具有一个属性你可以使用 .hasOwnProperty() 方法。 根据对象是否具有该属性someObject.hasOwnProperty(someProperty) 返回 true 或 false。
示例
function checkForProperty(object, property) {return object.hasOwnProperty(property);
}checkForProperty({ top: hat, bottom: pants }, top); // true
checkForProperty({ top: hat, bottom: pants }, middle); // false第一个 checkForProperty 函数返回 true第二个返回 false。