用 javascript 来回答宇宙外面是什么

发布于:2024-12-20 ⋅ 阅读:(8) ⋅ 点赞:(0)

宇宙外面是什么呢? 估计这个问题要困扰很多人, 让我们用一段 javascript 代码来回答一下.

一, 从一段代码说起

var 地球 = {
	名字 : "地球",
	女友 : "月亮",
	外面 : {
		名字 : "太阳系",
		老大 : "太阳",
		老二 : {
			名字 : "木星",
			二奶 : "木卫二(Europa)", // eclipse 3.3版本代号(欧罗巴)
			小三 : "木卫三(Ganymede)"// eclipse 3.4版本代号(盖尼米德)
		},
		外面 : {
			名字 : "银河系",
			外面 : {
				名字 : "宇宙",
				年龄 : 13700000000
			}
		}
	}
};
var 宇宙 = 地球.外面.外面.外面;
alert("宇宙的年龄是: " + 宇宙.年龄 + ", " + "宇宙的外面是: " + 宇宙.外面);
// alert("宇宙的外面在哪: " + 宇宙.外面.位置);

怎么运行呢? 很简单, 拷贝出来, 以谷歌浏览器 Chrome 为例, 按 F12, 出来开发人员工具, 选择最右端的 Console, 粘贴, 回车!答案即可揭晓:

看到了吗? 华丽丽的一个 undefined(未定义)

请添加图片描述

二, 自然语言由于过于灵活而失去严谨与精确

其实看了代码我们就已经明白是这样的结果了, 在这里我想说什么呢? 我们的日常语言其实是很不严谨, 很不精确的, 当层次很多时甚至引发了矛盾我们却还浑然不知, 以下图为例

请添加图片描述

我想这就是很多人的宇宙观, 里面的一层层都有着明确的边界, 但到了宇宙这一层面, 则是一种开放式的定义, 是没有边界的. 但当这种层次很多时, 我们常常忘记了我们前面预设的一些前提.

比方说, 你不会去问一个女生说: “你的JJ有多长之类的”

请原谅一时没有想到更好的例子~

因为这很明显是一个有问题问题, 如果问题本身就有问题, 又怎么能去正确地回答呢?

古语云: 皮之不存, 毛将附焉!

当皮都没有的时候, 你问皮上的毛是什么颜色, 显然无法回答, 所以这位女生最好的回答大概只能是纠正你说: "木有小JJ!"当然了, 我们肯定不会去问这类问题, 因为矛盾太明显了.

但有时候矛盾很隐藏得比较深, 比如这个宇宙外面是什么的问题, 我们常常先认定了宇宙是开放的, 是没有边界的, 而我们说里面, 外面则又暗示了它有个明确的边界.

毕竟只有有明确的边界我们才能去说"里面"和"外面", 所以这里面是有矛盾的, 除非我们先把宇宙是否有边界的这一前提讨论清楚, 不然讨论后一个问题就没有意义.

三, 编程语言则相对严谨精确得多

在 javascript 中, 你要是没有定义, 就相当于前提都没达成, undefined 既不是, 也不是,

当然了, 在编程中这个常常可以当成 false, 但如果使用严格等于去判断, 即三个等号 ===, 那么它跟 false 是不等的.

既没有说它是什么, 也没有说它不是什么. undefined 就是 undefined, 就是未定义. 连外面都还没定义, 你却试图问宇宙外面是什么, 自然就是 undefined 了. 如果你试图跳过它去进一步追问 “宇宙.外面.位置”:

请添加图片描述

那么运行时 javascript 就会给你报错了. 当然你写的时候是很自由的, javascript 没有编译的概念, 你写错了不运行它也不知道, 不过现在的 IDE 也很强大了, 以我使用的 eclipse 为例, 当你敲入 “宇宙.” 之时, 提示就已经出来了

请添加图片描述

我们可以看到, 除了核心 javascript 中的几个属性和方法之外, 就是我们定义的"名字"与"年龄"两个属性了. 根本就没有所谓的"外面", 当然也更谈不上"外面.位置"了!