百科网

首页 > 科技数码

科技数码

小编教你浏览器提示页面不存在并在地址栏尾端显示undefined怎么解决

科技数码佚名2023-01-16

浏览器提示页面不存在并在地址栏尾端显示undefined是一种什么现象?undefined并没有在页面中直接显示,而是显示在地址栏中导致页面丢失故障。如果该网页是用户的网站该怎么优化JavaScript呢?

浏览器提示页面不存在并在地址栏尾端显示undefined的解决方法:

undefined是一个特殊值,通常用于指示变量尚未赋值。对未定义值的引用返回特殊值。其实大多数计算机语言,只有一个表示“无”的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。

但有一种语言是例外的,JavaScript语言居然有两个表示“无”的值:undefined和null。这是为什么?undefined 和null有什么区别呢?

一、相似性

在JavaScript中,将一个变量赋值为undefined或null,实话说,二者几乎没区别。

01var a = undefined;02var a = null;复制代码var a = undefined;var a = null;

上面代码中,a变量分别被赋值为undefined和null,这两种写法效果几乎是一样的。

undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等。

01if (!undefined)02console.log('undefined is false');03// undefined is false04if (!null)05console.log('null is false');06// null is false07undefined == null08// true复制代码if (!undefined)console.log('undefined is false');// undefined is falseif (!null)console.log('null is false');// null is falseundefined == null// true

上面代码说明,两者的行为是何等相似!

既然undefined和null的含义与用法都差不多,为什么要同时设置两个这样的值?

二、真相揭秘

原来,这与JavaScript的历史有关。1995年JavaScript诞生时,最初像Java一样,只设置了null作为表示“无”的值。但是,JavaScript的设计者Brendan Eich,觉得这样做还不够,有两个原因。