几句话编程入门(已完结)

0038 类型的转换

前面我们说过数据是具有类型的,这就好像人是具有不同的职业的。我们在使用一个数据的时候,应该在内心明确的了解这个数据的类型是什么。

有些一些编程的语言需要非常明确的确定数据的类型,就比如 C 语言。那么其中的数据如果需要进行类型的转换,也要有明确的操作,才能够改变这个数据的类型。

也有一些编程的语言,它的数据类型是模糊的,就比如 JavaScript。对于一个变量没有明确的去说明类型,你赋予它字符串的值,那它就是个字符串,赋予它数字的值,它就是一个数字。在进行计算时,如果参与计算的数据类型不同,它会尝试自动的进行类型的转换,使的类型一致,然后进行计算。对于这样的语言,一般编程新人是会觉得非常开心的,因为少了分辨类型这个巨大的麻烦。但事实上无论使用的是怎样的语言,在内心都必须明确当前数据的类型,这是非常重要的。

数据的转换需要注意到一些方面,比如能不能转换。"123",我们知道这是一个字符串,因为它使用引号进行标记了,但如果说把它转换成为数字类型,显然我们知道这是可行的。但如果是这样的字符串呢:"嘿,我是一个字符串",显然它是不能够被转换为数字的。

自动转换的结果是不是和我们预期的相同。"123"+456,这样的计算应该得出怎样的结果?这要看程序如何进行类型的转换,如果它把两者都转换为数字,那么结果应该是 579,就是把两者相加。但如果程序把它们都转换为了字符串,字符串的相加可能是(这个在不同的语言下是有区别的)将字符串连接在一起,那么得到的结果就是:"123456"。如何知道程序对于类型自动转换的规则?这个有人列出了许多具体的都有关系,但是我记不住,所以我倾向于在使用的时候实际去运行尝试一下,反正随手写一个类型转换的小案例,也就一句代码,运行一下就可以得到明确的结果。

然后有许多类型可以转换为布尔型,大概的规则是存在即为真,不存在即为假。所以 0 为假,1 为真。当然 2 也为真……可以以此类推,但我举例不过来。不过一般情况下,如果我们想设置一个为真的条件,简单书写的话都会使用数字 1,而不是其他数字。就像我们前面所演示到的那样。因为如果把布尔型转换为数字,那么得到的结果就是 0 和 1。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0039 数组

如果老师让我们统计全班学生的名字,这是一个很简单的问题,但是如果我们放到编程中去思考,每一个姓名就是一个数据,对,它的类型是字符串。那么我们把这些数据储存起来就需要……总之很多的变量。这问题就变得很麻烦了,我们要建立变量并给它赋值,而在需要使用的时候还要找出对应的变量,然后提取它的值。这是全班学生的名字,那如果是全校学生的名字呢……

我们在实际生活中是怎么去进行统计的?有一个表格,前面是编号,比如一般会用学号,后面是对应的姓名。在使用的时候就根据学号去查找姓名。

我们在程序中也有一个类似的概念,就是数组,简单解释就是一组数据。那么根据我们前面的经验,一组数据可以不止一个,但也可以是一个,或者甚至没有,是 0 个。总之就是把一组数据打包成一个整体。

那么直观一点,我们先在代码中去举一个例子:

names = ["张小虎", "王小红", "李小二", "猫小兔"]

这样用方括号来包含一系列的数据,数据之间用逗号进行分隔(具体的书写格式参照你所使用的编程语言)。上面列出的是 4 个学生的姓名,但是我把他们作为一个合集放在了一个变量之内。这是一个简单普通的数组。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0040 一些特征和用法

先把上一次的例子放在前面:

names = ["张小虎", "王小红", "李小二", "猫小兔"]

数组具有一个属性就是它的长度,用来说明它里面包含几个数据,所以 names 的 length 为 4。那么获取属性的值的方法为:names.length ,我把其中的点(.)读作“的”,就很容易理解了。

数组是具有顺序的,所以每一个数据都具有一个序号,你可以认为是他们的学号,总之就是按顺序排列的编号。这里需要注意的是:序号从 0 开始计算。就像笑话中说的那样,程序员数数是从零开始的。

所以“张小虎”这个数据的序号是 0。而数组中最后一个数据的序号为数组的长度减一:names.length - 1

当我们需要取用某个数据的时候就这样写:names[2],就是说这个数组里序号为 2 的那个数据,也就是其中的第 3 项,在这里得到的就是“李小二”。

这里的序号可以使用变量代替:

a = 2
names[a]

数组中可以储存各种类型的数据,所以其中的某一项也可以是一个数组,这就形成了嵌套。如果数组中的每一项都是数组,这就形成了一个多维数组,常用的有二维数组和三维数组,这些使用起来就比较考验空间想象能力了。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0041 遍历

如果我们把前面所学习的循环和数组做一个结合,就可以很轻松的取出数组中的每一项。

names = ["张小虎", "王小红", "李小二", "猫小兔"]
for(i=0; i<names.length; i++){
    names[i]
}

因为变量 i 是在不断变化的,而且它是从 0,不断的增加 1,一直到 names.length-1,就正好把数组中的所有序号都列举出来了。这样就取出了数组中的每一项。这个过程叫做遍历,就是把数组中的每一项都来一遍,都经历一次。

如果举一反三的话,那么我们还可以反过来遍历:

names = ["张小虎", "王小红", "李小二", "猫小兔"]
for(i=names.length-1; i>=0; i--){
    names[i]
}

然后一些语言下对于数组有特殊的遍历方法,就是书写起来会更加简单。不过上面这种直接利用循环语句的遍历方法是最基础的。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0042 研究点儿啥

我们来随便研究个东西,什么都行,你闭眼抓起一个手边的东西和我一起研究就好。比如我现在拿出了一只自动铅笔。

那么这就是我要研究的对象。如果你找不到要研究什么就是找不到对象……(虽然听起来像是烂梗,但并不是

那如果我要向你介绍这支笔,就要描述一些你对它所关注的东西,当然不可能面面俱到,那么只要说清楚我们所需要的内容就好了。

它的颜色是蓝色的。

它的质地是金属的。

它的价格是一块钱。

它使用铅芯的粗细是 0.7 的。

……

显然这些你都能够听得懂,那么这是这只铅笔所具有的一些属性,这句的说法确实有点拽文了,但也完全在理解范围之内。

然后我们开始使用它,它可以用来写字;按动一下尾部,它还可以向前出铅;按住尾部还可以把铅芯再塞回去……用过自动铅笔的小伙伴应该都理解。

那么上面算是它的一些使用方法,就是它能够去做的事情。比如我们使用出铅这个方法,使它前部的铅芯长度增加。

然后它还会有一些特殊的事件,比如没有铅了,这个时候我们就要装入新的铅芯;比如铅芯折断了,这个时候我们就要使用出铅这个方法,使它前部的铅芯长度增加。

那么上面所说的没有铅了,和铅芯折断了,并不是这支自动铅笔做了什么,而是它发生了什么,并且这个事件的发生其实是一个时间点。

那么你用其他东西去进行研究,也可以举出类似的例子。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0043 由此进行推广

我们研究一个对象,它可以具有属性,用来说明是怎么样的;具有方法,来说明它可以做些什么;具有事件,来说明发生了什么。

但这些并不一定要全都存在,就像我们前面所说的,不可能面面俱到,所以只是关注我们需要用到的部分就好。

就比如我们前面登记姓名的例子。把每一个同学作为一个研究的对象,这时候我们关注的只有他的姓名属性。如果老师要求登记姓名和年龄,那么我们就关注姓名和年龄两个属性。

前面我们介绍了一只自动铅笔。但可以说差不多所有的自动铅笔都和它非常的类似,当然可能颜色质地等有区别,但终究是大同小异的。我们可以说这都是同一类物品。所以可以有一个类的概念,我们从这个类去创建一个特定的对象,那么这个对象会继承这个类所具有的特点。就是我单独拿出一只自动铅笔来,这是特定的对象,但它具有自动铅笔这个类所具有的普遍特征。说的抽象一点就是对象继承了这个类的特征。

这些概念非常的不严谨,在不同语言下甚至在相同语言的不同版本下,也会有不同的表达方式。但思路上都是相似的。

我们后面创建的对象看起来非常普通,但其实它也继承了基本对象的方式方法,否则我们又如何去操作它呢。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0044 对象

cat = {
    name: "咪咪",
    color: "Black",
    age: 3,
    male: true
}

现在把猫作为一个研究对象,很显然这是特定的某一只猫。他的名字叫做咪咪,颜色是黑色的,三岁了,是个男孩子。其实我不讲,你也大概能够读出这些信息。

对象是使用一个大括号来进行标记,里面标记了每一个属性所对应的属性值,属性之间用逗号进行分隔。属性和属性值之间使用冒号。这种标点的使用方式和我们自然语言是基本一致的,所以也很容易理解。

当我们需要使用其中某一个属性的时候,像下面这样去调用:

cat.name

我习惯把中间的点(.)读作“的”,猫的名字,这就很容易理解了。

也可以换一种方式去书写:

cat["name"]

注意这时候中括号里面放的是一个字符串,来说明要使用的属性的名称。这种写法的好处是中括号里的内容可以使用变量去进行表达:

n = "name"
cat[n]

那么使用点的方式就没有办法用变量来替代属性的名称。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0045 一些细节

cat = {
    name: "咪咪",
    color: "Black",
    age: 3,
    male: true
}

变量属性的名称其实是一个字符串,那么从前面的调用中,我们也可以看出来这一点。只是在这里,因为它必然是字符串,所以一般情况下我们会省略它的引号,当然你也完全可以给它写上,虽然没什么必要。另外在某些特定的情境下,确实需要给这些属性名写上引号。

属性的值可以是各种类型,比如上面举例中有字符串,有数字,有布尔型。当然它还可以是其他类型的数据,比如数组,也比如对象。

我们会发现对象的调用方式有一点像数组。其实应该反过来讲,数组是一种特殊的对象。它就是把属性的名称确定为一系列数字了。

当然细节上的区别还是有的,毕竟数组和这些基本的对象所继承的原型是不同的。所以它们具有的方法什么的也不相同。

如果你搞不清就先记住:数组显然是具有顺序的;而对象这些属性,就很难说谁应该在前面,谁应该在后面,所以它是不具有明确顺序的。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

2 Likes

0046 关于遍历

我们遍历数组时,其实是拿到了这个数组所有的序号,然后再逐个取出对应的值。所以在遍历对象时应该先拿到这个对象中所有的属性名,然后再逐个取出对应的值。

大概的理论就是这个样子,不过各种语言都会提供一些专用的方法,因为语言之间会有一些区别,所以在这里我不做举例,避免先入为主。

当然根据需求不同,我们可能会遍历对象中的所有属性名,也可能遍历所有属性的值,当然还可能两者都要。

我们知道无论是对象还是数组,它内部可以储存的数据是各种类型的,那么假如里面储存的数据又是一个对象或者数组,这时候我们可以对类型进行判断,然后决定是否需要进行更深层的遍历。当然这只是一个思路,因为这一次的内容实在太少了,所以凑一下字数。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0047 遍历的思路

我们遍历数组时,其实是拿到了这个数组所有的序号,然后再逐个取出对应的值。所以在遍历对象时应该先拿到这个对象中所有的属性名,然后再逐个取出对应的值。

大概的理论就是这个样子,不过各种语言都会提供一些专用的方法,因为语言之间会有一些区别,所以在这里我不做举例,避免先入为主。

当然根据需求不同,我们可能会遍历对象中的所有属性名,也可能遍历所有属性的值,当然还可能两者都要。

我们知道无论是对象还是数组,它内部可以储存的数据是各种类型的,那么假如里面储存的数据又是一个对象或者数组,这时候我们可以对类型进行判断,然后决定是否需要进行更深层的遍历。当然这只是一个思路,因为这一次的内容实在太少了,所以凑一下字数。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

2 Likes

0048 日常琐事

电脑是很笨的,每一件事情我们都要非常细致的给它讲清楚所有的步骤,它才能够照本宣科的去完成。

这也没有什么问题,只不过是多一点耐心就可以了。但是如果一件事情需要重复做许多次,当然你会立刻想到循环。可是有时候情况会更加复杂,并不一定可以简单的用循环去描述。

比如我现在做木工活,其中有一个简单的操作就是拿钉子。但是拿钉子这件事情就很难用循环去描述,因为两次拿钉子之间,我要做什么事情以及做多少事情是不一定的。

如果每一次需要拿钉子,我们都认真的描述:

  • 首先打开工具箱
  • 找到放耗材的格子
  • 在里面找到需要类型的钉子
  • 数出我们需要的数量
  • 拿出钉子关好工具箱

一次两次可以接受,次数多了……你会认为我是在给这个教程凑字数。

怎么办呢?把上面这些操作打包成一个整体,然后起一个名字,就叫做拿钉子。那么在需要钉子的时候就执行拿钉子这个操作,也就是进行一遍上面的这些步骤。在工作的效果上没有区别,但描述起来就显得简洁了许多。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0049 什么是函数

我们前面讲过代码块或者说代码段的概念,就是把一些代码看作一个整体,可能会用大括号来包裹一下,说明这是一个整体。

后面在判断和循环中也有相应的应用,在这里面使用代码段,主要是为了避免层级上的混淆。比如当条件成立的时候,哪些代码是要被执行的;而如果条件不成立,哪些代码是忽略不被执行的。那么通过代码块的标记,我们就可以清晰的分辨出来。

在循环中,代码块作为一个整体被多次的使用。但是这只是在同一个位置去多次使用,如果我们想在其他的地方也执行相同的操作,当然你不会希望把这些内容再抄写一遍。如果你非说复制一遍也不算麻烦的话,那么如果有许多地方需要使用这样的操作呢?就算全都复制过去,万一需要对这些操作进行修改呢?这很快就会让人抓狂的。

所以如果我们可以给某一个代码块进行一下命名,然后在需要的地方通过这个命名去引用这部分代码,那么许多问题就都被解决了。这就是代码中函数的概念。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

46、47重复了哦

已知,不改(懒得改后续编号,就这样了。

1 Like

0050 简单的举例

function 拿钉子(){
    首先打开工具箱
    找到放耗材的格子
    在里面找到需要类型的钉子
    数出我们需要的数量
    拿出钉子关好工具箱
}

首先里面的操作我们是熟悉的,那么我给给这一系列操作整体上取了一个名字,叫做“拿钉子”。这里的格式就看一个大概,因为在不同的语言下会有一些区别,我们更侧重对于道理上的讲解。

在其他地方如果需要使用就通过名字去调用这个函数:

这里我做一些木工的工作,做了什么就不详细讲了
拿钉子()
继续做木工的工作,比如把钉子敲进去
然后又发现钉子不够用了
拿钉子()

并不难理解,对不对?但你现在一定有一个疑问:无论是上面还是下面,小括号是用来做什么的?

我们下回分解。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

3 Likes

0051 关于参数

有一些操作我们是可以无脑进行重复的,但有一些操作看起来一致,而细节上是有一定变化的。

就比如拿钉子这个操作,如果我们只有一种类型的钉子,每一次只拿一个,那就是无脑重复的。但如果每次拿的类型可能不同,而数量也可能不同,那么我们在每次执行这个操作的时候,就需要对这两个数据进行说明。

但是当我们定义函数的时候,我们知道要用到类型和数量这两个数据,但是这两个数据的值是什么这是未知的。虽然未知,可是我们还是要描述这个事情,就只好先假设一下。对,就像设一个未知数。

function 拿钉子(type, count){
    首先打开工具箱
    找到放耗材的格子
    在里面找到 type 类型的钉子
    数出 count 个
    拿出钉子关好工具箱
}

那么小括号里的内容被称作为参数,这个函数有两个参数。参数嘛,就是参与这些事情的数据。但是这两个并不是真实的数据,只是为了能够便于我们描述而假设的数据。我们也可以说它们是形式上的参数,所以被称作为形参。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

2 Likes

0052 带参数的调用

拿钉子("自攻木螺丝", 12)

这里是对前面函数的调用,显然你一看就知道我要拿什么钉子,以及要拿多少。那么把这两个数据带入前面的函数就可以完成对应的操作。

这两个数据显然也是参数,这就不是假设的了,而是实际存在的。那么这样实际参与运算的参数被称作为实参。

形参和实参的区分是很重要的,但其实你只要能够理解前面所讲的道理,它也是很容易的。那么下面我们来实际举例应用一下。

就比如说做加法这个事情,当然这很简单,根本没有必要去定义一个函数。不过用这样简单的操作去举例,就更容易让你读明白。那么我们定义一个函数用来让两个数进行相加,显然这个函数需要两个参数,就是这两个数字,我们要告诉程序把谁和谁加到一起去:

function add(a, b){
    a+b
}

这样假设了两个参数,a 和 b,在函数里面我们把它们相加。

那在其他的地方,如果我需要进行加法这个操作就可以:

add(6, 2)

我传入了两个参数,6 和 2,就把它们加在一起。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

2 Likes

0053 返回值

考虑这样两件事情:

如果老师让你把这些作业搬到教室里,你完成这个指示工作就算完成了。

如果老师让你统计所有同学的兴趣爱好,你到班里完成了统计,这个事情就算完成了吗?显然还差一点儿,你要把统计的结果交给老师,这才算完成了这个任务。

第一件事情,完成相应的操作不需要进行反馈。

第二件事情,完成相应的操作之后,要把获得的结果反馈回来。

那么函数里面也有类似的细节。如果我交代你收拾一下工具,那么你把它们整理整齐就算完成了;但如果我叫你拿钉子,你不能只是把钉子拿在自己手里,你要把钉子递给我才算完成任务;如果我们让程序做一个加法,那显然我们是期待程序把计算之后的结果告诉我们,而不是相加之后它在那里发呆。

所以有一些函数在完成之后要有相应的反馈,这个反馈被称作为返回值。

下节课我们再进行实际的举例,你先记住两个要点:

  • 一个函数最多只能有一个返回值
  • 当函数返回结果时就标志这个函数执行完成了

无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0054 获得结果

function add(a, b){
    result = a+b
    return result
}

我们计算两个数相加,并把这个结果储存进一个变量,然后返回(return)这个变量,这样函数计算了两个数相加,并且把结果反馈了回来。

在使用的时候我们如何获得这个结果呢:

c = add(6, 2)

这个函数对相应参数的计算结果会储存进前面的变量 c。

最开始的一段代码也可以书写的简单一点,只的是为了让大家能够快速理解,所以用变量中转了一下。那我们把这个写的更加直接一些:

function add(a, b){
    return a+b
}

当到达 return 语句时函数会返回结果并停止运行。所以函数里面如果在 return 之后还有内容,并不会被执行。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like

0055 毫无结果

俗话说,“抬杠长能耐”,那么我们在这里杠一下,我的函数就是没有返回值,就没有 return 这句话,我就是统计完了数据不告诉你结果,咱就是玩儿。那像前面一样用一个变量去获取这个函数的计算结果,会获得什么?

当然什么也没有,但什么也没有是什么,零吗?不是,而是一个更加彻底的结果,没有被定义(或者是空)。

我们说这里有一个变量 a。好,变量有了,但是我没有给它任何的值,我也没有说明它的类型。你说它是什么,理所当然的,它还没有被定义。

这就是一个全新的数据,undefined,还没被定义。当然在某些语言里,这个结果也可能是 null(空)。或者在你的语言里,这两个数据都有。那么它们两个的区别并不是很大,具体的分析就要根据你所使用的语言去具体查阅了。


无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。

就这样,就这么简单。

上一篇 | 返回目录 | 下一篇

1 Like