您的位置:首页 > Web前端 > JavaScript

JavaScript学习——freeCodeCamp(1)

2017-08-05 16:17 471 查看

创建对象

var cat = {
"name": "Whiskers",  //注意这里是逗号不是分号!!!
"legs": 4,
"tails": 1;
"enemies": ["Water","Dogs"]
};  //这里要有分号


访问对象属性

有两种方式访问对象属性,一个是点操作符(.),一个是中括号操作符([])。

点操作符

当知道属性的名称的时候,使用点操作符

var myObj = {
prop1:"val1",
prop2:"val2"
};
var prop1val = myObj.prop1; //val1
var prop2val = myObj.prop2; //val2


中括号操作符

如果你想访问的属性的名称里有一个空格,只能使用中括号操作符。

var myObj = {
"Space Name":"Kirk",
"More Space":"Spock"
};
myObj["Space Name"]; // kirk
myObj["More Space"]; // Spock


PS:属性名称中如果有空格,必须把属性名称用单引号或双引号包裹起来。

用对象代替switch

// 定义 phoneticLookup
function phoneticLookup(val) {
var result = "";
// 请只修改这条注释以下的代码
switch(val) {
case "alpha":
result = "Adams";
break;
case "bravo":
result = "Boston";
break;
case "charlie":
result = "Chicago";
break;
case "delta":
result = "Denver";
break;
case "echo":
result = "Easy";
break;
case "foxtrot":
result = "Frank";
}

// 请只修改这条注释以上的代码
return result;
}

// 你可以修改这一行来测试你的代码
phoneticLookup("charlie");

相当于

// 定义 phoneticLookup
function phoneticLookup(val) {
var result = "";

// 请只修改这条注释以下的代码
var lookup ={
alpha: "Adams",
bravo: "Boston",
charlie: "Chicago",
delta: "Denver",
echo: "Easy",
foxtrot: "Frank"
};
result = lookup[val];
// 请只修改这条注释以上的代码
return result;
}

// 你可以修改这一行来测试你的代码
phoneticLookup("charlie");


访问嵌套数组

var myPlants = [
{
type: "flowers",
list: [
"rose",
"tulip",
"dandelion"
]
},
{
type: "trees",
list: [
"fir",
"pine",
"birch"
]
}
];

// 请只修改这条注释以下的代码

var secondTree = myPlants[1].list[1];


检查一个对象属性是否存在

使用.hasOwnProperty(propname),如果有返回true,没有返回false。

举例

var myObj = {
top: "hat",
bottom: "pants"
};
myObj.hasOwnProperty("top");    // true
myObj.hasOwnProperty("middle"); // false


生成随机整数

生成0到某个数之间的随机数

步骤

用 Math.random() 生成一个随机小数。

把这个随机小数乘以 20。

用 Math.floor() 向下取整 获得它最近的整数。

记住 Math.random() 永远不会返回 1。同时因为我们是在用 Math.floor() 向下取整,所以最终我们获得的结果不可能有 20。这确保了我们获得了一个在0到19之间的整数。

把操作连缀起来,代码类似于下面:

Math.floor(Math.random() * 20);

我们先调用 Math.random(),把它的结果乘以20,然后把上一步的结果传给 Math.floor(),最终通过向下取整获得最近的整数。

生成两个指定的数之间的随机数

我们需要定义一个最小值和一个最大值。

Math.floor(Math.random() * (max - min + 1)) + min


正则表达式

Regular expressions 正则表达式被用来根据某种匹配模式来寻找strings中的某些单词。


举例:

如果我们想要找到字符串The dog chased the cat中单词 the,我们可以使用下面的正则表达式:/the/gi

我们可以把这个正则表达式分成几段:

/ 是这个正则表达式的头部

the 是我们想要匹配的模式

/ 是这个正则表达式的尾部

g 代表着 global(全局),意味着返回所有的匹配而不仅仅是第一个。

i 代表着忽略大小写,意思是当我们寻找匹配的字符串的时候忽略掉字母的大小写。

数字选择器

在JavaScript中, 数字选择器类似于: /\d/g。

在选择器后面添加一个加号标记(+),例如:/\d+/g,它允许这个正则表达式匹配一个或更多数字。

尾部的g是’global’的简写,意思是允许这个正则表达式 找到所有的匹配而不是仅仅找到第一个匹配。

空白正则表达式

/\s+/g

空白字符有 ” ” (空格符)、\r (回车符)、\n (换行符)、\t (制表符) 和 \f (换页符)。

\s 匹配任何空白字符,\S 匹配任何非空白字符。

构造函数

我们可以利用构造函数来创建对象。构造函数常使用大写字母开头,以便把自己和
b00a
其他普通函数区别开。

var Car = function(){
this.wheels = 4;
this.engines = 1;
this.seats = 1;
}


在 构造函数 中, this 指向被此 构造函数 创建出来的 对象 。所以,当我们在 构造函数 中写:

this.wheels = 4;

这时,它创建出来的新对象将带有 wheels 属性,并且赋值为 4.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript