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];
FCC 基础JavaScript 练习3的更多相关文章
- FCC 基础JavaScript 练习7
1. Math.random()用来生成一个在0(包括0)到1(不包括1)之间的随机小数,因此Math.random()可能返回0但绝不会返回1. 提示随后的函数都会在return执行前调用,所以我们 ...
- FCC 基础JavaScript 练习6
1.对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的, 对象适合用来存储结构化数据,就和真实世界的对象一模一样,比如一只猫. 任务 创建一个叫做myDog的对象,它里 ...
- FCC 基础JavaScript 练习2
1. 引号不是字符串中唯一的可以被转义字符.下面是常见的转义序列列表: \' 单引号 \" 双引号 \\ 反斜杠符 \n 换行符 \r 回车符 \t 制表符 \b 退格符 \f 换页符 ...
- FCC 基础JavaScript 练习1
1.JavaScript中的注释方式有以下两种 // This is an in-line comment. /* This is a multi-line comment */ 2.avaScrip ...
- FCC 基础JavaScript 练习5
在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法. 根据下面的表格,每张卡牌都分配了一个值.如果卡牌的值大于0,那么玩家应该追加赌注.反之,追 ...
- FCC 基础JavaScript 练习4
1.另一种数据类型是布尔(Boolean).布尔 值要么是true要么是false, 它非常像电路开关, true 是“开”,false是“关”.这两种状态是互斥的 2.伪代码 if(条件为真){ 语 ...
- 回归基础: JavaScript 变量提升
from me: javascript的变量声明具有hoisting机制,它是JavaScript一个基础的知识点,也是一个比较容易犯错的点,平时在开发中,大大小小的项目都会遇到. 它是JavaScr ...
- js基础--javaScript数据类型你都弄明白了吗?绝对干货
欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...
- 基础JavaScript练习(三)总结
任务目的 实践JavaScript数组.字符串相关操作 任务描述 基于任务四进行升级 将新元素输入框从input改为textarea 允许一次批量输入多个内容,格式可以为数字.中文.英文等,可以通过用 ...
随机推荐
- 【.Net 学习系列】-- Windows服务定时运行,判断当前时间是否在配置时间段内
/// <summary> /// 判断程序是否在设置运行时间内 /// </summary> /// <param name="startTime" ...
- jeecg报错:java.lang.Exception: No runnable methods
具体报错如下 ------------------------------------------------------- T E S T S --------------------------- ...
- 【CV论文阅读】An elegant solution for subspace learning
Pre: It is MY first time to see quite elegant a solution to seek a subspace for a group of local fea ...
- FaceBook开源库Fresco
讨论学习使用 关于 Fresco Fresco 是一个强大的图片载入组件. Fresco 中设计有一个叫做 image pipeline 的模块.它负责从网络.从本地文件系统.本地资源载入图片. 为了 ...
- BZOJ 2208 JSOI2010 连通数 Tarjan+拓扑排序
题目大意:给定一个n个点的有向图,求有多少点对(x,y),使x沿边可到达y 设f[i][j]为从i到j是否可达 首先强联通分量中的随意两个点均可达 于是我们利用Tarjan缩点 缩点之后是一个拓扑图. ...
- [Android Studio] 取消引用库打包出现异常-- provided dependencies can only be jars
Warning: Project App: provided dependencies can only be jars. com.android.support:appcompat-v7:22.2. ...
- Python的lambda函数与排序
Python的lambda函数与排序 2010-03-02 15:02 2809人阅读 评论(0) 收藏 举报 lambdapythonlistlispclass工作 目录(?)[+] 前几天 ...
- 开拓新途径找出新方法,上海SEO公司分享3个操作看看是否可行
开拓新途径找出新方法,上海SEO公司分享3个操作看看是否可行 内容收录,外链公布,流量点击.用户体验.这是SEO优化的几个核心和重点.也是SEO站长每天都在绞尽脑汁进行操作的SEO重心,影响着非常多人 ...
- MySQL测试代码
MySQL测试代码 # 注释内容 -- 注释内容 -- 创建maizi数据库 CREATE DATABASE IF NOT EXISTS `maizi` DEFAULT CHARACTER SET ' ...
- web 开发之js---JS变量也要注意初始化
原先以为js作为弱类型语言,变量的初始化没必要,但是: var text; text+="你好"; alert(text); 对话框弹出的内容是:"undefined你好 ...