在 JavaScript 中,变量“未定义”有两种主要方式。第一种是声明变量而不给它赋值时。第二种是当您尝试访问不存在的变量时。
当声明变量时没有值,它会被自动赋予值“未定义”。如果您忘记为变量赋值,或者故意不赋值(例如,如果您正在等待用户输入),则可能会发生这种情况。
如果您尝试访问不存在的变量,您也会得到“undefined”值。如果您键入变量的名称,或者尝试访问超出范围的变量,则可能会发生这种情况。
下面是带有解释的示例。
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var foo; document.getElementById("result").innerHTML = foo; </script> </body> </html>
在上面的示例中,声明了变量“foo”,但未给定值。因此,当我们尝试访问它时,会返回“undefined”值。
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var myObj = {}; document.getElementById("result").innerHTML = myObj.foo; </script> </body> </html>
在上面的示例中,我们尝试访问对象“myObj”的属性“foo”。但是,由于该属性不存在,因此返回“undefined”值。
“not 已定义”值类似于“未定义”,因为它表示变量不存在。但是,两者之间存在细微差别。
“未定义”通常是由拼写错误或尝试访问超出范围的变量引起的。 “未定义”通常是由于忘记给变量赋值而引起的。
下面是带有说明的示例。
<html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> var myObj = {}; try { document.getElementById("result").innerHTML = myOb.foo; } catch(err) { document.getElementById("result").innerHTML = err; } </script> </body> </html>
在上面的示例中,我们尝试访问对象“myOb”的属性“foo”。但由于该对象不存在,因此返回“myOb is not Define”的ReferenceError。
“未定义”和“未定义”之间的主要区别在于,“未定义”是可以分配给变量的值,而“
另一个区别是,“未定义”通常是由于忘记给变量赋值而导致的,而“未定义”通常是由拼写错误或错误引起的尝试访问超出范围的变量。
结论是,“未定义”和“未定义” >”是 JavaScript 中的两个不同值。 “未定义”表示变量已声明但未赋值,“未定义”表示变量不存在。
以上是JavaScript 中未定义和未定义有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!