鍍金池/ 問答/HTML/ 怎么理解`JavaScript 變量均為對象`這句話?

怎么理解`JavaScript 變量均為對象`這句話?

在看JavaScript文章的時候:http://www.cnblogs.com/cmhunt...

有一句:

JavaScript 變量均為對象。當(dāng)您聲明一個變量時,就創(chuàng)建了一個新的對象。

這句話我不是很明白。

我們做測試:

var obj
console.log(typeof(obj))  // undefined

var obj = null
console.log(typeof(obj))  // null

為何就說JavaScript變量均為對象呢?

回答
編輯回答
清夢

null是空對象,undefined是未定義的東西

2018年1月1日 15:58
編輯回答
荒城

別人隨便 YY 一句,你就還糾結(jié)著當(dāng)真了……
這么說吧,這句話需要這些準(zhǔn)備:

  1. 先定義,在 js 中,“對象”是什么。
  2. 再定義,“是對象”的標(biāo)準(zhǔn)是什么。
  3. 有了上面兩個定義,這句話才有意義。

如果把對象的標(biāo)準(zhǔn)定為 Object 的話,那么顯然 var s = "xxx" 就不是對象, 這時 s 就是一個確定的值,與 var s = new String('xxx') 是不同的。

2017年12月5日 22:34
編輯回答
瞄小懶

我現(xiàn)在理解了,在JavaScript中,一切皆是對象。

比如:null,字符串,Number等都是對象。數(shù)組是特殊的對象。

2018年3月9日 17:33
編輯回答
舊城人

用Number類型來解釋一下

var n = 1;
var n1 = new Number(1);
console.log(n === n1); // false
console.log(n === n1.valueOf()); // true

在執(zhí)行var n = 1時,javascript會實例化Number對象,并調(diào)用實例化對象的valueOf()方法進(jìn)行賦值。

2018年1月2日 18:30
編輯回答
笨笨噠

這篇文章中說的js中一切變量都是對象,應(yīng)該是編程思想中萬物皆對象的對象,而不是js中的對象類型

2017年9月15日 04:42