網頁開發js變量作用域問題四,js中關於變量作用域描述錯誤的是

本文目錄一覽:

js關於作用域的問題

首先說一下js全局變量的作用域:

在js中如果直接定義一個變量,都是在window這個作用域下定義的

比如

var num = 60

也可以寫成這樣

window.num = 60

這兩個寫法是完全一樣的,不管哪種寫法,使用 console.log(num, window.num) 都可以打印出來 num的值

相對於題主的這個例子:

函數內部聲明一個局部變量需要 加 var關鍵字,如果沒有 var,根據向上查找原則,就會去方法 f1 上層去查找 num 變量,如果有,直接拿來用,如果沒有就會繼續再向上層查找,如果到了 window域 下還沒找到,這時 就會在 window域 下創建一個 num變量

所以這個例子打印結果是 60

再說這一個例子

f1 中使用 num變量,在方法形參中 已經有一個 num

實際上,在js加載過程中,編譯器在編譯過程中已經在 f1 中對 num變量 進行了聲明,也就是說 num 已經是 f1 作用域下的一個變量了,所以,在函數內再使用 num的時候,就是在使用 f1作用域下的 num變量,而不會再向上層查找

js 變量作用域問題

var changefunc=”xmlHttp.onreadystatechange = “+functionName;

你就沒寫參數過去,自然不會接到,你的AJAX寫的太亂

var functionName=function (classid,id,pagenum)

這裡的參數只是形參,不是實參,所以這些參數沒有全局作用域

你想用到實參,那就把classid,id,pagenum定義成全局變量吧,定義到函數體外面

關於JS變量作用域的問題

v2=80,v3=40

1、這個v2和v3,都是a裏面定義的局部變量:

function a(){

var v2, v3;

2、v2=80,是調用b函數時,b函數直接對b外部的v2進行了賦值,最近的是a函數的v2,所以最終alert的v2是80

3、b函數雖然對v3賦值為80,但是v3是參數里的v3,並不是a函數的v3,對參數v3進行賦值,不會改變a函數的v3,所以alert的v3不變,還是40

另外,樓上的回答雖然有一定道理,但是只是針對同一個人寫同一個項目而言,

實際的工作開發中,引用多個其它人開發的js,甚至其它公司開發的js都是常事,所以出現上面的類似代碼也是可能的,另外,這個例子對於理解js的變量作用域還是有一定意義的

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/278345.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-19 13:22
下一篇 2024-12-19 13:22

相關推薦

  • int類型變量的細節與注意事項

    本文將從 int 類型變量的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變量進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變量。 一、定義與聲明 int…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python input參數變量用法介紹

    本文將從多個方面對Python input括號里參數變量進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29
  • Python匿名變量的使用方法

    Python中的匿名變量是指使用「_」來代替變量名的特殊變量。這篇文章將從多個方面介紹匿名變量的使用方法。 一、作為佔位符 匿名變量通常用作佔位符,用於代替一個不需要使用的變量。例…

    編程 2025-04-29
  • Python變量在內存中的存儲

    該文章將從多個方面對Python變量在內存中的存儲進行詳細闡述,包括變量的聲明和賦值、變量的引用和指向、內存地址的變化、內存管理機制等。 一、聲明和賦值 在Python中,變量聲明…

    編程 2025-04-29
  • Python載入Cookie錯誤解決方法用法介紹

    本文將從多個方面詳細闡述Python載入Cookie錯誤的解決方法,希望能對讀者有所幫助。 一、Cookie錯誤常見原因 1、Cookie過期:當Cookie過期時,載入Cooki…

    編程 2025-04-29
  • Python變量類型用法介紹

    Python是一種解釋型編程語言,它提供了豐富的數據類型,包括數字、字符串、列表、元組、集合、字典等。Python變量類型的定義是Python程序開發的基礎,本文將從以下幾個方面對…

    編程 2025-04-28
  • Python print輸出變量

    Python是一種腳本語言,語法簡單易懂,目前被廣泛應用於數據處理、人工智能、web開發、遊戲開發等領域。其中print函數是Python中最常用的函數之一,用於將變量輸出到控制台…

    編程 2025-04-28
  • Python定義變量

    Python是一門高級編程語言,變量是Python編程中非常重要的一個概念。Python的變量定義方式非常簡單,可以在程序中隨時定義一個變量來存儲數據,這方便了整個程序的邏輯編寫,…

    編程 2025-04-28

發表回復

登錄後才能評論