猫史档案馆


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

用户:马云编程猫马云编程猫查看:445 回复: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


评论

主要有一些新手不太会用变量和数组,所以还是要出一期教程

新手送去w3school——

主要是我看不懂


浮生awa浮生awa

前排

点赞0


评论


Vicent轩Vicent轩

来支持亿下)))

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

点赞3


评论


马云编程猫马云编程猫

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

点赞0


评论

az 不满足要求……


浮生awa浮生awa

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

点赞2


评论


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

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

点赞1


评论

https://box3.fun/e/949277fe72b4939758c5?p=9%喵7C5F7X9pHF28vI99喵QTUcD9ImFNFCl8nWs3M4JOA5v8xHmOMAnlnLDlvaLluIg%3D

在吗,快来,我现在在地图

在吗,什么时候来地图提前跟我说个时间,我好准备好安排去找你

这周五晚上吧,我顺便把权限给你


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

-纠错小版车-

1

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

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

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

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

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

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

 

点赞2


评论

感谢纠错,我会注意这个问题的,以后多讲如何做图,少讲JS语法

语法要讲的awa

你英语真好 不应该是meatSeller吗

这个不是我写的代码 再说了纠结这种干嘛

能理解且简洁即可(虽然这个不简洁

这也不能体现别人英语水平啊


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

center_image

你可能对cpp有什么误解

int bool long是数据类型

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

这俩东西是不一样的

点赞0


评论

以后讲js可以不要带cpp吗 容易误人子弟

可是int,bool,long long都是可以直接定义变量和函数的,我这么讲也没什么问题啊

但他们和const let不是一个类型的

他们用来说明数据类型

和类型限定符不一样的

好的,感谢教导

不用谢( 主要就是讲之前记得检查一下正误(

那彳亍 你下次给我写一个.cpp文件里面必须要用到long long 变量名=数据;


yee089yee089

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

点赞1


评论

?我没学过不太清楚 js里面不是什么函数什么类之类的不都属于对象的范畴吗

你可以var定义一个函数对象啊——

啊对对对 都差不多 反正万能关键字了属于是

思想钢印c++(bushi)


企鹅vItY企鹅vItY

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

点赞1


评论


屑student屑student

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

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

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

点赞1


评论

不是储存哦 world.xxx只是向world这个类加入一个成员函数哦 但恰巧world是岛三地图的全局类所以就碰巧用了

注:你可以在world对象下添加一个world.xxxa属性,并且这个属性是可以被访问的


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

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

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

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

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

 

点赞1


评论

还有 常用定义变量的多得是 不是只有let const var 别误人子弟了行不啊兄弟

补充一下 let const var都是可使用在所在的当前那一层代码往下的所有子代码块都能用的局部变量 (没错var就是局部变量 不信自己去新建俩模块试试看)

浪费贴号))))

我说了主要常用的是这几种,没说只有这几种,请仔细阅读后纠错

"常用的定义变量的只有var,let,const" 这是你的原话 至少你不应该说常用 因为常用的定义很不明确的 编程里面没有常用只有适合什么地方用的

就算是常用也不能是只有吧、、、


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

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

这一条报错有问题啊

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

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

点赞1


评论

还有 下次说话说严谨点 你最后一个代码注释应该把“对应位置”全部改成“对应下标”

还有,净扯牛的喵 不是只有实体是Object 实体是一个有碰撞箱和外表的对象啊喂 对象才是Object!!!

以及不要在定义变量和函数的时候写***了行吗 会误导人的啊喂 你家的变量 函数 类定义的时候名字里能写***?

广告也写好点啊 是原神不是元神 还有你那种图完全就是给我毁图用的啊 防君子不防小人知道吗 就算是把循环给我关上我也可以写for循环 do while循环 函数的递归和迭代 这种都查不出来 (原神是大世界探索 不是你这样的玩法啊!!!!)

别误人子弟了行吗 我没学过js的都比你懂得多、、、、


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

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

点赞0


评论

www.runoob.com/js/js-tutorial.html


堂主の犬堂主の犬

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

点赞0


评论

啊喵,是17k()()()

啊不是吧()你两个月前400粉)现在1200(()()

az


马云编程猫马云编程猫

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

点赞1


评论

诶 这个好 语法这玩意讲也讲不明白其实看百度最好()

讲语法必须得严谨,但是JS太灵活了!(咋写都对)

有一次我写for循环没写let但编辑器居然没报错!

快,快去教一下大家class怎么写!我相信肯定有很多人用得上!

因为JS中有这种东西,不过是另一种意思:不喵ar/let的对象代表的是一个全局对象,可以在代码的任何地方调用。弊端就是滥用会造成全局污染(多个全局变量重名/全局变量与局部变量重名)


企鹅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


评论

const变量:人家明明叫常量