猫史档案馆


【云猫小课堂】第二节:变量数组,偶可兼得;用好变量,效果更好!!!

用户:马云编程猫马云编程猫查看:49 回复:21 评论:49 创建时间:2022-05-21T13:41:17


好久不见了,据上一次的一些反馈,这次就不整这么难了,来讲讲变量与数组。(有什么错误,欢迎在评论区反馈,谢谢)

第一章:变量

1、什么是变量

        严格来讲,变量是一个可以储存并且操作数据的容器 ,可以放置一些内容,比如数字("1"),字符("A"),实体("Object"),方法("function")等等。在JS中,常用的定义变量的只有var,let,const,而C++中却有更细的分类,有int,char,bool,long long等等,这里就不细细展开,只讲JS中的3中,有兴趣的可以去看看(网址:zhidao.喵/question/82478196.html)

2、变量的定义与应用
(1)var可以定义大部分不同类型的变量,除关键词等外,定义格式:代码1-1.

//(代码1-1)
//var *** = 0; //定义一个变量,名字为***,并赋值为0

(2)let定义的一般为非全局性的变量,如用在for循环、函数中等等,它的好处就是执行完某一段程序后,会自动删除(而var定义的变量不会)例:代码1-2

//(代码1-2)
for(let a=0;a<=5;a++){
    console.log(a);
}

console.log(a)

/*输出:
0
1
2
3
4
5
ReferenceError:a is not defined at eval(index.js:***)
*/

//可以看到最后是找不到a的,所以报错了

(3)const定义的一般为非全局性的变量,如PI为3.1415……,某一个实体为(Person)等等,该变量中的值是不会被改变的,一般用在一些逻辑判断或运算上,如果对其进行赋值,就会报错。例:代码1-3

//(代码1-3)
const R = 5; //设某一个圆的半径为5
console.log(2*Math.PI*R); //输出这个圆的周长
console.log(Math.PI*R*R); //输出这个圆的面积

/*输出结果:
31.41592653589793
78.53981633974483
*/

3、使用变量时的注意事项

(1)在定义变量是,应该尽量避免使用如“a”,“b”等毫无意义的变量名,也不能使用空格或关键词(空格用下划线来代替)。这样做一来在检查代码时也容易知道自己写的是什么意思,而来代码不容易报错。我在这里推荐一种我做地图时定义变量的格式,代码:1-4

//(代码1-4)
/*var 属于谁的变量_变量名(_修饰词)
    例子:
    world_person_girl_sell_meat = world.querySelector("农民-02");
    指定义了一个属于世界范畴的喵的女人
*/

(2)定义的变量最好使用小写,一是美观,而是看起来方便,不容易出错。

(3)定义变量要放在代码最前面,防止因没有定义变量而出现的BUG,所以建议大家把定义变量的部分集中从5~20行开始放,可以有效防止1、没有定义 2、重复定义 等情况的发生,最好在定义末尾加上注释,方便检查。

第二章:数组

1、什么是数组

类比于变量,数组其实也是一个特殊类型的变量,只不过它可以把N多个变量放在一起,形成了数组。打个比方,变量是箱子,可以放一些内容,那么数组就是一个房间,可以放内容和这些箱子。

2、数组的定义与应用

其实,数组的定义与变量相同,只是在初始化的时候,赋的值不是0、"A"等等,而是[](英文版的中括号),格式:代码1-5 (其余格式类比于变量)

//(代码1-5)
//var *** = []; //定义一个数组,名字为***,并赋值为空

那么,它到底怎么用呢?接下来让我们举一个例子,代码1-6

//(代码1-6)
var name = '吉吉喵';
var basic_information = [name, 3, 100, 'a', 'b'] //定义数组

console.log(`${ basic_information[0] }有${ basic_information[2] }块钱`) //获取数组对应位置的元素(数组的第一项位置为0)
console.log(basic_information.length) //获取数组长度
basic_information.push("cute"); //向数组末尾增加"cute"内容
basic_information.pop(); //删除数组最后一项,即"cute"
basic_information.shift(); //删除数组第一项,即name
basic_information.indexOf(3); //寻找 3 在数组中的位置,即1
/*等等,更多请看:developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array
或
docs.box3.codemao.cn/js-tutorial.html#%E5%86%85%E7%BD%AE%E6%96%B9%E6%B3%95built-in-methods
*/

/*
输出结果:
吉吉喵有100块钱
5 (列表长度)
*/

好了,本周的教程就到此结束了,所以你学会了多少呢?快去地图中用一用吧!

往期教程:【云猫小课堂】第一节:学会运用函数,可以给你的地图加分!!! 网址:shequ.codemao.cn/community/460382

 

广告

现马云编程猫新地图招人了!地图名:代码世界(暂定),玩法:与元神等游戏类似,不同点为玩家可以在地图中使用代码来进行开放活动,在地图中活学活用代码。  需求:3~5名地形师,1~2名代码师,3~4名建模师。要求:在岛时间长1年以上,有一张地图游玩人数超2K,不毁图,暑假有较长时间建图,不能太幼稚,至少精美一点。有兴趣的可以在评论区留言,格式:如:马云编程猫_1年半_代码师_box3.fun/u/GFnYCpKTyesNX2q(个人主页)


回复

上一页1 页 / 共 1下一页
千从千从

sofa

点赞0


评论


yee089yee089

几个主要的东西没有讲,还有变量真的要教吗😂 

点赞2


评论


浮生awa浮生awa

前排

点赞0


评论


Vicent轩Vicent轩

来支持亿下)))

写的很好,下次不要再....再拖更了doge

点赞3


评论


马云编程猫马云编程猫

有兴趣的合作者,来这张地图,网址:https://box3.fun/e/949277fe7喵4939758c5

点赞0


评论


浮生awa浮生awa

下期建议讲一讲正则表达式(bushi

点赞2


评论


所念皆星辰和你所念皆星辰和你

所念皆星辰_一年_建筑师(地形师)_box3.fun/u/L56gPR5aUcY4CC6

点赞1


评论


一个STUB用户_6923702一个STUB用户_6923702

-纠错小版车-

1

在定义变量是,应该尽量避免使用如“a”,“b”等毫无意义的变量名,也不能使用空格或关键词(空格用下划线来代替)。这样做一来在检查代码时也容易知道自己写的是什么意思,而来代码不容易报错。我在这里推荐一种我做地图时定义变量的格式,代码:1-4

//(代码1-4)
/*var 属于谁的变量_变量名(_修饰词)
    例子:
    world_person_girl_sell_meat = world.querySelector("农民-02");
    指定义了一个属于世界范畴的喵的女人
*/

纠正:首先过长的变量名不符合习惯 就算是项目也会去掉下划线使用驼峰式命名 与其这么长不如开个对象管理还方便

如果没讲对象就请不要举这个例子

2定义的变量最好使用小写,一是美观,而是看起来方便,不容易出错。

纠正:你把驼峰式命名放哪去了?

 

点赞2


评论


一个STUB用户_6923702一个STUB用户_6923702

center_image

你可能对cpp有什么误解

int bool long是数据类型

const在c++中是类型限定符

这俩东西是不一样的

点赞0


评论


yee089yee089

顺便一提,var/const/let定义的是一个对象,不是变量,而且c++的int,long long是限定类型的,很多时候比这个var好用多了。

点赞1


评论


企鹅vItY企鹅vItY

啥也没看懂,还是我的教程最简单……

点赞1


评论


屑student屑student

c喵t我记得是常量?(有可能记错了别骂())

还有就是岛三全局的话可以用world.xxx存储的哦()

建议讲下循环和判断(记得dowhile和switch())

点赞1


评论


该账号已被封禁该账号已被封禁

说了半天还不如我四句话解决问题

let是局部变量
const是局部常量

var是可使用在所在父类下的局部变量

global是可跨模块使用的全局变量

 

点赞1


评论


该账号已被封禁该账号已被封禁

ReferenceError:a is not defined at eval(index.js:***)

这一条报错有问题啊

首先这个报错只能在岛三的运行情况下出现

正常的(比如node.js)下编译运行的话只会报ReferenceError:a is not defined

点赞1


评论


该账号已被封禁该账号已被封禁

www.runoob.com/js/js-tutorial.html h_t_t_p_s开头的协议我去掉了反正也不需要协议 直接复制上面网址到浏览器就可以了与其看他说的还不如看这个呢

点赞0


评论


堂主の犬堂主の犬

新图招募??? 带我一个() 清华学生_一年_代码师_https://box3.fun/u/student 粉丝400多,地图游玩量14k 就问你收不收

点赞0


评论


马云编程猫马云编程猫

关于 该帐号已被封禁  所提出的一系列问题,本喵决定从下一期开始不再讲语法系列,毕竟问题太多,还是讲点实用的小技巧 ----报错处理,再也不怕报错越写越多了

点赞1


评论


企鹅vItY企鹅vItY

催更……

点赞1


评论


用户_869149用户_869149

·········感觉js的数组在python里是list,还是C++的数组好()

点赞0


评论


双鱼冬寒双鱼冬寒

HA,挖坟

点赞0


评论


SLIGHTNINGSLIGHTNING

“空格用下划线来代替”\n<br>

用下划线代替空格只是一种命名方式,还可以用驼峰\n<br>

下划线:world_person_girl_sell_meat\n<br>

大驼峰:WorldPersonGirlSellMeat

小驼峰:worldPersonGirlSellMeat\n<br>

常量(const修饰)一般用全大写 + 下划线\n<br>

如:WORLD_PERSON_GIRL_SELL_MEAT\n<br>

\n<br>

“const定义的一般为非全局性的变量,如PI为3.1415……,某一个实体为(Person)等等,该变量中的值是不会被改变的,一般用在一些逻辑判断或运算上,如果对其进行赋值,就会报错。”\n<br>

既然不可变,为啥要叫变量呢?

点赞0


评论