摘要:前段時間回答了一個關(guān)于定義變量時使用關(guān)鍵字與否的區(qū)別,總結(jié)回顧一下。在函數(shù)作用域內(nèi)加定義的變量是局部變量,不加定義的就成了全局變量。使用定義變量還會提升變量聲明,即使用定義不使用定義這就是使用定義的變量的聲明提前。
前段時間回答了一個關(guān)于定義變量時使用關(guān)鍵字var與否的區(qū)別,總結(jié)回顧一下。
1.在函數(shù)作用域內(nèi) 加var定義的變量是局部變量,不加var定義的就成了全局變量。
使用var定義:
var a = "hello World"; function bb(){ var a = "hello Bill"; console.log(a); } bb() //"hello Bill" console.log(a); //"hello world"
不使用var定義:
var a = "hello World"; function bb(){ a = "hello Bill"; console.log(a); } bb() //"hello Bill" console.log(a); //"hello Bill"
2.在全局作用域下,使用var定義的變量不可以delete,沒有var 定義的變量可以delete.也就說明隱含全局變量嚴格來說不是真正的變量,而是全局對象的屬性,因為屬性可以通過delete刪除,而變量不可以。
3.使用var 定義變量還會提升變量聲明,即
使用var定義:
function hh(){ console.log(a); var a = "hello world"; } hh() //undefined
不使用var定義:
function hh(){ console.log(a); a = "hello world"; } hh() //"a is not defined"
這就是使用var定義的變量的聲明提前。
4.在ES5的"use strict"模式下,如果變量沒有使用var定義,就會報錯。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90815.html
摘要:扒文,不謝,今天在回答了一個關(guān)于定義變量時使用關(guān)鍵字與否的區(qū)別,總結(jié)回顧一下。在函數(shù)作用域內(nèi)加定義的變量是局部變量,不加定義的就成了全局變量。使用定義變量還會提升變量聲明,即使用定義不使用定義這就是使用定義的變量的聲明提前。 @krew http://webbought.github.io/ 扒文,不謝,O(∩_∩)O~ 今天在sf回答了一個關(guān)于定義變量時使用關(guān)鍵字var與否的區(qū)別,總...
摘要:一寫在前面最近重讀高級程序設(shè)計,總結(jié)下來,查漏補缺。但這種影響是單向的修改命名參數(shù)不會改變中對應(yīng)的值。這是因為對象的長度是由傳入的參數(shù)個數(shù)決定的,不是由定義函數(shù)時的命名參數(shù)的個數(shù)決定的。實際改變會同步,改變也會同步 一、寫在前面 最近重讀《JavaScript高級程序設(shè)計》,總結(jié)下來,查漏補缺。 二、JS簡介 2.1 JS組成 ECMAscript:以ECMA-262為基礎(chǔ)的語言,由...
摘要:的基礎(chǔ)語法的語法是區(qū)分大小寫的注意在中是區(qū)分大小寫的變量名稱不能是中文代碼示例一花一世界控制臺調(diào)用效果圖語法中的空格與換行注意并不是的語法內(nèi)容可有可無的建議使用因為這樣會使代碼看的更清晰利于閱讀代碼示例代碼一花一世界中的分號可選項語法并 JavaScript的基礎(chǔ)語法: JavaScript的語法是區(qū)分大小寫的 注意: 在JavaScript中是區(qū)分大小寫的 變量名稱不能是中文 代...
摘要:請解釋事件代理事件代理也稱為事件委托,利用了事件冒泡。同源指的是協(xié)議域名端口相同,同源策略是一種安全協(xié)議。目的同源策略保證了用戶的信息安全,瀏覽器打開多個站點時,互相之間不能利用獲取對方站點的敏感信息。 請解釋事件代理(event delegation) 事件代理也稱為事件委托,利用了事件冒泡。例如: item1 item2 item3 當(dāng)頁面li增多時單...
摘要:目前,和基本是同義的,只有一些細微的差別。表示沒有對象,即該處不應(yīng)該有值。作為對象原型鏈的終點。五新增持續(xù)更新中一般是意外情況產(chǎn)生的,則是有意為對象賦值來說明這是一個空的對象的返回值是的類型是 摘自阮一峰博客,另附自己的理解分析。 大多數(shù)計算機語言,有且僅有一個表示無的值,比如,C語言的NULL,Java語言的null,Python語言的None,Ruby語言的nil。有點奇怪的是,J...
閱讀 3571·2021-11-16 11:45
閱讀 2130·2021-11-08 13:23
閱讀 2225·2021-10-11 10:59
閱讀 2902·2021-09-27 13:36
閱讀 2490·2019-08-30 15:54
閱讀 2680·2019-08-29 16:58
閱讀 2798·2019-08-29 16:56
閱讀 1348·2019-08-26 13:52