FCC 基础JavaScript 练习3
1.通过使用提供的变量参数:名词myNoun
、形容词myAdjective
、动词myVerb
、副词myAdverb
,来创建一个新的句子 result,
function wordBlanks(myNoun, myAdjective, myVerb, myAdverb) {
var result = "";
// 请把你的代码写在这条注释以下
myNoun="dog ";
myAdjective="big ";
myVerb="ran ";
myAdverb="quickly ";
result=myNoun+myAdjective+"cat "+myVerb+myAdverb+"little "+"hit "+"slowly";
// 请把你的代码写在这条注释以上
return result;
}
wordBlanks("dog", "big", "ran", "quickly"); // 你可以修改这一行来测试你的代码.
2.可以多个数据储存在一个地方,以左方括号[
开始定义一个数组,以右方括号]
结束定义,并把每个条目之间用逗号隔开,
var myArray = ["hello",23];
3.也可以在数组中包含其他数组
var myArray = [["hello",12],["hello","world"]];
4.数组索引的使用与字符串索引一样,不同的是,通过字符串的索引得到的是一个字符,通过数组索引得到的是一个条目,
创建一个名为 myData
的变量,并把 myArray
的第一个索引上的值赋给它
var myArray = ["hello","world",6];
// 请把你的代码写在这条注释以下
var myData=myArray[0];
5.与字符串的数据不可变不同,数组的数据是可变的,并且可以自由地改变!!!
修改数组 myArray
中索引0上的值为 3,
// 初始化变量
var myArray = [1,2,3];
// 请把你的代码写在这条注释以下
myArray[0]=3;
6.可以把 多维 数组看作成是一个 数组中的数组。
使用恰当的 [index]
访问 myArray
,使得 myData
的值为8,
// 初始化变量
var myArray = [[1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13, 14]];
// 请只修改这条注释以下的代码
var myData = myArray[2][1];
7..unshift(xxxx)
函数用起来就像 .push()
函数一样, 但是在数组的头部推入元素
使用 unshift()
函数把["Paul",35]
加入到 myArray
的头部,
// 初始化变量
var myArray = [["John", 23], ["dog", 3]];
myArray.shift();
// 请把你的代码写在这条注释以下
myArray.unshift(["Paul",35]);
将数据追加到一个数组的末尾是通过push(xxxxx)
函数,
.push(xxxxx)
接受把一个或多个参数,并把它“推”入到数组的末尾,
// 举例
var ourArray = ["Stimpson", "J", "cat"];
ourArray.push(["happy", "joy"]);
// 经过 push 操作后,ourArray 的值为 ["Stimpson", "J", "cat", ["happy", "joy"]]
8.要移出一个数组开首的值 用.shift()
它的工作原理就像 .pop(),
// 举例
var ourArray = ["Stimpson", "J", ["cat"]];
removedFromOurArray = ourArray.shift();
// 经过 shift 操作后,removedFromOurArray 的值为 "Stimpson",ourArray 的值为 ["J", ["cat"]].
移出性函数()内不用放东西,加入性函数()内要加东西.
9.pop()
函数用来“抛出”一个数组末尾的值。我们可以把这个“抛出”的值赋给一个变量存储起来,
// 举例
var ourArray = [1,2,3];
var removedFromOurArray = ourArray.pop();
// 经过 pop 操作之后,removedFromOurArray 的值为 3, ourArray 的值为 [1,2].
10.创建一个名叫 myList
的购物清单,清单的数据格式就是多维数组,
每个子数组中的第一个元素应该是购买的物品名称,第二个元素应该是物品的数量,类似于:
["Chocolate Bar", 15]
任务:你的购物清单至少应该有5个子数组,
var myList = [["Chocolate Bar", 15],["Chocolate Bar", 15],["Chocolate Bar", 15],["Chocolate Bar", 15],["Chocolate Bar", 15]];
11可以通过函数名称加上后面的小括号来调用这个函数,
所有的大括号之间的代码将在每次函数调用时执行,
- 创建一个名为
myFunction
的函数,这个函数可以打印“Hi World”到开发控制台上。 - 调用这个函数
function myFunction(){
console.log("Hi World");
}
myFunction();
12.调用一个函数时所传入的参数为实参,实参决定着形参真正的值。简单理解:形参即形式、实参即内容
// 举例
function ourFunction(a, b) {
console.log(a - b);//括号内的是形参
}
ourFunction(10, 5); // 输出 5//括号内的是实参
13.用var定义的变量具有全局作用域,不用var定义的变量应该设置作用域,不设置作用域会被当成全局变量,造成数据混乱.
var myGlobal=10; //具有全局作用域
function fun1() { //作用域在函数内
oopsGlobal=5;
}
14.在一个函数内声明的变量,以及该函数的参数都是局部变量,意味着它们只在该函数内可见,
function myFunction() {
'use strict';
var myVar;
console.log(myVar);//在函数内有效
}
myFunction();//调用函数可得出
console.log(myVar);//在函数外无效,无法得出.
15.一个程序中有可能具有相同名称的 局部 变量 和 全局 变量。在这种情况下,局部
变量将会优先于 全局
变量,
// 初始化变量
var outerWear = "T-Shirt";
function myFunction() {
// 请把你的代码写在这条注释以下
var outerWear="sweater";
// 请把你的代码写在这条注释以上
return outerWear;
}
myFunction(); //输出的是sweater
16.数据通过函数的 参数 来传入函数,也可以使用 return
语句把数据从一个函数中传出来,
创建一个函数 timesFive
接受一个参数, 把它乘于 5
之后并返回(returns),
function timesFive (num) {
return num *5;
}
17.调用 process
函数并给参数一个值 7
,然后把返回的值赋值给变量 processed
// 初始化变量
var processed = 0;
function process(num) {
return (num + 3) / 5;
}
// 请把你的代码写在这条注释以下
processed=process(7);
18.写一个函数 queue
,用一个数组arr
和一个数字item
作为参数,
数字item
添加到数组的结尾,然后移出数组的第一个元素,最后队列函数应该返回被删除的元素
function queue(arr, item) {
// 请把你的代码写在这里
arr.push(item);
var del = arr.shift();
return del; // 请修改这一行
}
// 初始化测试数据
var testArr = [1,2,3,4,5];