首頁  >  文章  >  web前端  >  js全域和局部變數及運算子知識分享

js全域和局部變數及運算子知識分享

小云云
小云云原創
2018-03-07 11:17:541461瀏覽

一、本文主要和大家分享js全域和局部變數及運算子知識,首先我們先和大家講解局部變數和全域變數 的相關知識,希望能幫助大家。

二、局部變數和全域變數
局部變數:在js函數內部宣告的變數時局部變量,所以只能在函數內部存取它,也就是該變數的作用域是局部的。所以可以在不同的函數中使用名稱相同的局部變數。

  1. 在函數內部使用var定義的變數

  2. 函數的參數變數

全域變數:在函數外宣告的變數是全域變量,網頁上的所有腳本和函數都能存取它。

  1. 在函數體外定義的變數

  2. 在函數體內部定義的沒有用var宣告的變數

#優先權:局部變數高於同名的全域變量,參數變數高於同名全域變量,局部變數高於同名參數變數。
給函數中的參數傳值時,值要用單引號括起來。強烈建議用單引號。
作用域鏈:內層函數可以存取外層函數局部變量,外層函數不能存取內層函數局部變數。
變數的生存週期:所有變數都是從被宣告開始,局部變數會在函數運行以後被刪除,全域變數在頁面關閉後被刪除。
如果把值賦給尚未宣告的變量,則變數會自動被當作全域變數宣告。
三、運算子
+:可以用於字串的連接,兩個數字相加,傳回數字相加的和,如果數字與字元相加,則傳回字串。如果把數字與字串相加,結果將成為字串。
==:僅比較值
===:絕對等於,比較值與型別
! ==:不絕對等於(值和型別有一個不想等,或兩個都不相等)
邏輯運算子的優先權:! 、&&、||
三目運算子:(condition)? true-doing : else-doing
循環:break結束整個循環(用於循環和switch語句中),continue結束本次循環(只用在循環中)
四、類型轉換
Number( )轉換為數字      String() 轉換為字串    Boolean() 轉換為布林值
NaN的資料型別是number,陣列(Array)、日期(Date)、null型別都是object,未定義的變數時undefined 。

二、局部變數和全域變數
局部變數:在js函數內部宣告的變數時局部變量,所以只能在函數內部存取它,也就是該變數的作用域是局部的。所以可以在不同的函數中使用名稱相同的局部變數。

  1. 在函數內部使用var定義的變數

  2. 函數的參數變數

全域變數:在函數外宣告的變數是全域變量,網頁上的所有腳本和函數都能存取它。

  1. 在函數體外定義的變數

  2. 在函數體內部定義的沒有用var宣告的變數

#優先權:局部變數高於同名的全域變量,參數變數高於同名全域變量,局部變數高於同名參數變數。
給函數中的參數傳值時,值要用單引號括起來。強烈建議用單引號。
作用域鏈:內層函數可以存取外層函數局部變量,外層函數不能存取內層函數局部變數。
變數的生存週期:所有變數都是從被宣告開始,局部變數會在函數運行以後被刪除,全域變數在頁面關閉後被刪除。
如果把值賦給尚未宣告的變量,則變數會自動被當作全域變數宣告。
三、運算子
+:可以用於字串的連接,兩個數字相加,傳回數字相加的和,如果數字與字元相加,則傳回字串。如果把數字與字串相加,結果將成為字串。
==:僅比較值
===:絕對等於,比較值與型別
! ==:不絕對等於(值和型別有一個不想等,或兩個都不相等)
邏輯運算子的優先權:! 、&&、||
三目運算子:(condition)? true-doing : else-doing
循環:break結束整個循環(用於循環和switch語句中),continue結束本次循環(只用在循環中)
四、類型轉換
Number( )轉換為數字      String() 轉換為字串    Boolean() 轉換為布林值
NaN的資料型別是number,陣列(Array)、日期(Date)、null型別都是object,未定義的變數時undefined 。

相關建議:

PHP全域和局部變數

關於PHP中的全域變數global和$GLOBALS的不同區分- WORSHIP亞薩

php全域變數 超全域變數是什麼

#

以上是js全域和局部變數及運算子知識分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn