JS中使用 name 作為變量名出現(xiàn)的問題

今天突然被問到一個問題:我定義了一個數(shù)組 var name = ["leon", "jack", "tom"]; 白嘁,但是為什么通過下標(biāo)獲取不到正確的值阔加,而且居然能獲取到 ,遗嗽。當(dāng)時我以為是什么細(xì)節(jié)問題进宝,仔細(xì)檢查了一下代碼后發(fā)現(xiàn)并沒有什么問題恨搓,甚至開始懷疑JS數(shù)組的定義方法,用 var name = new Array("leon", "jack", "tom"); 定義了之后還是出現(xiàn)同樣的問題好爬。這下徹底懵了局雄,想了一圈后突然想起來有一次寫表單的時候也遇到了類似問題,當(dāng)時為了獲取頁面中的 input 標(biāo)簽存炮,而這個 input 是用來輸入姓名的,我也就理所當(dāng)然的在獲取的時候這么寫了:var name = document.getElementById('idName');蜈漓,這樣沒有報錯穆桂,但是在獲取他的 value 值的時候一直是 undefined,即使給他一個初始的 value 融虽,最后獲取到的也還是 undefined享完。而其他的變量都能正常使用,這讓我不禁懷疑是變量名的問題有额,改了變量名之后果然也正常了般又,當(dāng)時由于任務(wù)也沒多想,這個問題也就擱置了巍佑,今天有幸又與他見面了茴迁。改了數(shù)組名之后,果然正常了萤衰,這下有必要好好理一下關(guān)于 name 變量名的問題了堕义。

定義數(shù)組

先看代碼

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script>
            var name = ["leon", "jack"];
            console.log("name:", name, name.length, typeof name);

            var names = ["leon", "jack"];
            console.log("names:", names, names.length, typeof names);
        </script>
    </body>
</html>

乍一看兩個輸出的結(jié)果應(yīng)該是一樣的,但結(jié)果呢脆栋?

很明顯倦卖,以 name 命名的數(shù)組變成了字符串洒擦。

定義對象
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <form action="">
            <input id="txt1" type="text" value="txt1">
            <input id="txt2" type="text" value="txt2">
        </form>
        <script>
            var name = document.getElementById('txt1');
            console.log(name.value, typeof name);

            var txt = document.getElementById('txt2');
            console.log(txt.value, typeof txt);

        </script>
    </body>
</html>

6 結(jié)果可想而知,用 name 做變量名的變量又變成字符串了怕膛。

總結(jié)

name 既不是關(guān)鍵字也不是保留字熟嫩,但他是屬性,這也就是問題所在褐捻,這樣的話其他的屬性也不能用作變量名(不是全部邦危,僅僅是一部分,但還是建議不要使用屬性做變量名)舍扰,比如 top 也不行倦蚪,但是 leftbottom 卻可以边苹。另外 location陵且,self 也不可以,而造成這一切的原因是這些變量名是JS的主機(jī)變量个束,永遠(yuǎn)不能被重新聲明慕购。更詳細(xì)的說明在 這里

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末茬底,一起剝皮案震驚了整個濱河市沪悲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阱表,老刑警劉巖殿如,帶你破解...
    沈念sama閱讀 212,332評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異最爬,居然都是意外死亡涉馁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評論 3 385
  • 文/潘曉璐 我一進(jìn)店門爱致,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烤送,“玉大人,你說我怎么就攤上這事糠悯“锛幔” “怎么了?”我有些...
    開封第一講書人閱讀 157,812評論 0 348
  • 文/不壞的土叔 我叫張陵互艾,是天一觀的道長试和。 經(jīng)常有香客問我,道長忘朝,這世上最難降的妖魔是什么灰署? 我笑而不...
    開封第一講書人閱讀 56,607評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上溉箕,老公的妹妹穿的比我還像新娘晦墙。我一直安慰自己,他們只是感情好肴茄,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,728評論 6 386
  • 文/花漫 我一把揭開白布晌畅。 她就那樣靜靜地躺著,像睡著了一般寡痰。 火紅的嫁衣襯著肌膚如雪抗楔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,919評論 1 290
  • 那天拦坠,我揣著相機(jī)與錄音连躏,去河邊找鬼。 笑死贞滨,一個胖子當(dāng)著我的面吹牛入热,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晓铆,決...
    沈念sama閱讀 39,071評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼勺良,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了骄噪?” 一聲冷哼從身側(cè)響起尚困,我...
    開封第一講書人閱讀 37,802評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎链蕊,沒想到半個月后事甜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,256評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡示弓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,576評論 2 327
  • 正文 我和宋清朗相戀三年讳侨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奏属。...
    茶點(diǎn)故事閱讀 38,712評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖潮峦,靈堂內(nèi)的尸體忽然破棺而出囱皿,到底是詐尸還是另有隱情,我是刑警寧澤忱嘹,帶...
    沈念sama閱讀 34,389評論 4 332
  • 正文 年R本政府宣布嘱腥,位于F島的核電站,受9級特大地震影響拘悦,放射性物質(zhì)發(fā)生泄漏齿兔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,032評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望分苇。 院中可真熱鬧添诉,春花似錦、人聲如沸医寿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽靖秩。三九已至须眷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沟突,已是汗流浹背花颗。 一陣腳步聲響...
    開封第一講書人閱讀 32,026評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惠拭,地道東北人扩劝。 一個月前我還...
    沈念sama閱讀 46,473評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像求橄,于是被迫代替她去往敵國和親今野。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,606評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 《ijs》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,099評論 0 7
  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品罐农,去做同樣的事情条霜,實(shí)現(xiàn)同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,728評論 2 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理涵亏,服務(wù)發(fā)現(xiàn)宰睡,斷路器,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 3,829評論 0 6
  • 將夢擱淺在沙灘上气筋,讓海浪一波又一波的淹沒拆内,赤腳走在細(xì)軟的白沙上,一望無際的大海終于成為我傾訴的對象宠默。 ...
    深藍(lán)暖流閱讀 343評論 0 0