欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript定義變量時(shí)有var和沒有var的區(qū)別探討

 更新時(shí)間:2014年07月21日 16:40:26   投稿:whsnow  
定義變量時(shí)省略var是不安全的,不過是合法的。定義的變量的作用域取決于定義的位置

我們先來看一段代碼

function show(){ 
alert(abc); 
} 
var abc="defg"; 
show();

有過C++或Java編程經(jīng)驗(yàn)的人可能會(huì)說:“這程序,死定了,變量竟然在引用了該變量的函數(shù)后邊定義,bug會(huì)滅掉你的。”放在瀏覽器上運(yùn)行一下,結(jié)果怎樣?完美運(yùn)行!接下來我們就說一下這是咋回事——有var和沒有var定義的變量的區(qū)別。

1、沒有var

簡明的說,定義變量時(shí)省略var是不安全的,不過是合法的。這時(shí)無論該變量是在什么位置定義的,解釋器都會(huì)賦予該變量以全局作用域。

2、有var

安全的,合法的。定義的變量的作用域取決于定義的位置。至于作用域具體是什么,請(qǐng)參見本博客中“javascript作用域”一文。

這樣,開頭的那個(gè)問題可以解決了。函數(shù)中的才是對(duì)abc的定義,只不過值為undefined,這時(shí)abc有全局作用域,函數(shù)外的只是對(duì)abc的值的更新。

相關(guān)文章

  • Javascript typeof與instanceof的區(qū)別

    Javascript typeof與instanceof的區(qū)別

    JavaScript 中 typeof 和 instanceof 常用來判斷一個(gè)變量是否為空,或者是什么類型的。但它們之間還是有區(qū)別的,需要的朋友可以參考下
    2016-10-10
  • JavaSciprt中處理字符串之sup()方法的使用教程

    JavaSciprt中處理字符串之sup()方法的使用教程

    這篇文章主要介紹了JavaSciprt中處理字符串之sup()方法的使用教程,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-06-06
  • Knockoutjs快速入門(經(jīng)典)

    Knockoutjs快速入門(經(jīng)典)

    Knockoutjs是一個(gè)JavaScript實(shí)現(xiàn)的MVVM框架.主要有如下幾個(gè)功能1. Declarative bindings2. Observables and dependency tracking3. Templating,需要了解的朋友可以參考下
    2012-12-12
  • 深入理解JavaScript系列(50):Function模式(下篇)

    深入理解JavaScript系列(50):Function模式(下篇)

    這篇文章主要介紹了深入理解JavaScript系列(50):Function模式(下篇),本篇我們介紹的一些模式稱為初始化模式和性能模式,主要是用在初始化以及提高性能方面,一些模式之前已經(jīng)提到過,這里只是做一下總結(jié),需要的朋友可以參考下
    2015-03-03
  • 使用 TypeScript 重新編寫的 JavaScript 坦克大戰(zhàn)游戲代碼

    使用 TypeScript 重新編寫的 JavaScript 坦克大戰(zhàn)游戲代碼

    這篇文章主要介紹了使用 TypeScript 重新編寫的 JavaScript 坦克大戰(zhàn)游戲代碼,主要是對(duì)自己近期學(xué)習(xí)TypeScript的一個(gè)小小的總結(jié)實(shí)踐,推薦給小伙伴們,希望大家能夠喜歡。
    2015-04-04
  • cancelBubble阻止事件冒泡

    cancelBubble阻止事件冒泡

    cancelBubble阻止事件冒泡...
    2006-10-10
  • 淺析JS原型繼承與類的繼承

    淺析JS原型繼承與類的繼承

    下面小編就為大家?guī)硪黄獪\析JS原型繼承與類的繼承。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-04-04
  • actionscript與javascript的區(qū)別

    actionscript與javascript的區(qū)別

    actionscript是flash的腳本語言,目前已經(jīng)由adobe公司升級(jí)到3.0版本,成為了真正意義的oop語言,JavaScript是由netscape工程師設(shè)計(jì)完成的一門腳本語言,用于web開發(fā)的前端腳本
    2011-05-05
  • 解析JavaScript中的標(biāo)簽語句

    解析JavaScript中的標(biāo)簽語句

    本篇文章是對(duì)JavaScript中的標(biāo)簽語句進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • window.parent與window.openner區(qū)別介紹

    window.parent與window.openner區(qū)別介紹

    今天總結(jié)一下js中幾個(gè)對(duì)象的區(qū)別和用法,對(duì)這幾個(gè)概念混淆的朋友可以看看
    2012-04-04

最新評(píng)論