我的freeCodeCamp之旅Day---03
1. Comment your JavaScript Code
添加注释:
// This is an in-line comment.
/* This is a
multi-line comment */
2. Declare JavaScript Variables
声明变量
var ourName;
3. Storing Values with the Equal Operator
各变量赋值
myVar = 5;
myNum = myVar;
4. Initializing Variables with the Equal Operator
声明并赋予初始值:
var myVar = 0;
5. Understanding Uninitialized Variables
当你用一个没有 定义 的变量来做字符串连接操作的时候,它会如实的输出"undefined"。
6. Add Two Numbers with JavaScript
运算:
可以使用+、-、、/、++、--、+=、-=、=、/=
可以使用%取余;
7. Escape Sequences in Strings
转义字符表:
Code | Output |
---|---|
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠符 |
\n | 换行符 |
\r | 回车符 |
\t | 制表符 |
\b | 退格符 |
\f | 换页符 |
8. Concatenating Strings with Plus Operator
字符串拼接
'My name is Alan,' + ' I concatenate.'
var myStr = 'This is the first sentence. ';
myStr += 'This is the second sentence.';
9. Find the Length of a String
// 初始化变量
var lastNameLength = 0;
var lastName = "Lovelace";
// 请只修改这条注释以下的代码
lastNameLength = lastName.length;
10. Use Bracket Notation to Find the First Character in a String
获取字符串中的字符。
就跟数组一样,用“[]”
// 初始化变量
var firstLetterOfLastName = "";
var lastName = "Lovelace";
// 请只修改这条注释以下的代码
firstLetterOfLastName = lastName[0];
11. Manipulate Arrays With push
把 ["dog", 3] “推”入到 myArray 变量的末尾。
// 初始化变量
var myArray = [["John", 23], ["cat", 2]];
// 请把你的代码写在这条注释以下
myArray.push(['dog', 3]);
12. Manipulate Arrays With pop
使用 .pop() 函数移除 myArray 中的最后一条,并且把“抛出”的值赋给 removedFromMyArray。
// 初始化变量
var myArray = [["John", 23], ["cat", 2]];
// 请只修改这条注释以下的代码
var removedFromMyArray = myArray.pop();
13. Manipulate Arrays With shift
使用 .shift() 函数移出 myArray 中的第一项,并把“移出”的值赋给 removedFromMyArray。
// 初始化变量
var myArray = [["John", 23], ["dog", 3]];
// 请只修改这条注释以下的代码
var removedFromMyArray = myArray.shift();
14. Manipulate Arrays With unshift
使用 unshift() 函数把["Paul",35] 加入到 myArray 的头部。
// 初始化变量
var myArray = [["John", 23], ["dog", 3]];
myArray.shift();
// 请把你的代码写在这条注释以下
myArray.unshift(['Paul', 35]);
15. Write Reusable JavaScript with Functions
- 创建一个名为 myFunction 的函数,这个函数可以打印“Hi World”到开发控制台上。
- 调用这个函数。
function myFunction() {
console.log('Hi World');
}
myFunction();
16. Global Scope and Functions
在 JavaScript 中, 作用域 涉及到变量的作用范围。在函数外定义的变量具有 全局 作用域。这意味着,具有全局作用域的变量可以在代码的任何地方被调用。
这些没有使用var关键字定义的变量,会被自动创建在全局作用域中,形成全局变量。当在代码其他地方无意间定义了一个变量,刚好变量名与全局变量相同,这时会产生意想不到的后果。因此你应该总是使用var关键字来声明你的变量。
在函数外声明一个 全局 变量 myGlobal,并给它一个初始值 10
在函数 fun1 的内部,不使用 var 关键字来声明 oopsGlobal,并赋值为 5。
// 请在这里定义变量
var myGlobal = 10;
function fun1() {
// 请在这里把 5 赋值给 oopsGlobal
oopsGlobal = 5;
}
// 请只修改这条注释以上的代码
function fun2() {
var output = "";
if (typeof myGlobal != "undefined") {
output += "myGlobal: " + myGlobal;
}
if (typeof oopsGlobal != "undefined") {
output += " oopsGlobal: " + oopsGlobal;
}
console.log(output);
}
17. Global vs Local Scope in Functions
一个程序中有可能具有相同名称的 局部 变量 和 全局 变量。在这种情况下,局部 变量将会优先于 全局 变量。
18. Stand in Line
写一个函数 queue ,用一个数组arr和一个数字item作为参数。数字item添加到数组的结尾,然后移出数组的第一个元素,最后队列函数应该返回被删除的元素。
function queue(arr, item) {
// 请把你的代码写在这里
arr.push(item);
var del = arr.shift();
return del; // 请修改这一行
}
19. Comparison with the Strict Equality Operator
严格相等运算符(===)是相对于相等操作符(==)的一种操作符。与相等操作符不同的是,它会同时比较元素的值和 数据类型。
在 if 语句值使用严格相等运算符,这样当 val 严格等于7的时候,函数会返回"Equal"。
// 定义 myTest
function myTest(val) {
if (val === 7) { // 请修改这一行
return "Equal";
}
return "Not Equal";
}
// 你可以修改这一行来测试你的代码
myTest(10);
20. Use the parseInt Function
parseInt()函数解析字符串并返回一个整数。
var a = parseInt("007");
parseInt()函数解析字符串并返回一个整数。
它需要一个基数的第二个参数,它指定字符串中数字的基数。
基数可以是2到36之间的整数。
parseInt(string, radix);
比如字符串是以二进制表示的“3”,即“11”,
则:
let num = parseInt('11', 2);
3