當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
从零开始学JavaScript三(变量)
生活随笔
收集整理的這篇文章主要介紹了
从零开始学JavaScript三(变量)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、變量
ECMAscript變量是松散型變量,所謂松散型變量,就是變量名稱可以保存任何類型的數據,每個變量僅僅是一個用于保存值的占位符。
定義變量時要使用var操作符
如:
var message; /*定義一個名為message的變量,該變量可以用來保存任何值,未初始化的變*量會保存一個特殊的值-undefined */?二、局部變量 ??
可以聲明變量里同時初始化
function test(){var message='hello'; //定義局部message變量,并初始值為helloalert(message); //將message內容彈出 }test(); </script>錯誤的寫法
function test(){var message='hello'; //定義局部message變量,并初始值為hello }test(); alert(message); //錯誤由以上兩個例子可以看出,如果在一個函數中使用var 定義一個變量,那么該變量在函數退出后會被銷毀
?三、定義全局變量
function test(){message='hello'; //全局message變量,并初始值為hello }test(); alert(message); //hello這里因為省略了var,因而message就成了全局變量,這樣只要調用過一次test()函數,這個變量就有了定義,就可以在函數外部的任何地方被訪問
省略var 定義變量:只要調用一次定義該變量的函數,全局范圍內都可訪問該變量。這種定義變量的方法也被成為隱式聲明
?四、作用域和范圍
?
<SCRIPT type="text/javascript"> //定義一個輸出函數 function outPut(s){ document.writeln(s); } //全局變量 var i=0; //定義外部函數 function outer(){ //訪問全局變量 outPut(i); // 0 //定義一個類部函數 function inner(){ //定義局部變量 var i = 1; // i=1; 如果用隱式申明 那么就覆蓋了全局變量i outPut(i); //1 } inner(); outPut(i); //0 } outer(); </SCRIPT>?
結果:0,1,0
<script type="text/javascript">function demoFunction(s){ document.writeln(s) } var i=0; function test(){ demoFunction(i); function innerFunction(){ demoFunction(i); var i=1; demoFunction(i);} innerFunction(); demoFunction(i); } test(); </script>結果:0 undefined 1 0
?JS函數體中聲明的本地變量在整個函數中都有效,因此在上面代碼中var i = 1 ;在inner函數中都有效,實際上顯式聲明的變量i是在預編譯時就已經編譯到調用對象中了,不同于隱式聲明變量在解釋時才被定義為全局變量,只是在調用outPut(i)時,還沒有將它初始化變量,此時的本地變量i是未賦值變量,而不是未定義變量,因此輸出了undefined。上面的代碼等效于下面代碼:
function inner(){ var i; //定義但不賦值 outPut(i); //undefiend i=1; outPut(i); //1 }?
?
?
轉載于:https://www.cnblogs.com/liunanjava/p/4237677.html
總結
以上是生活随笔為你收集整理的从零开始学JavaScript三(变量)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KBQA: 知识图谱上的问答系统概述
- 下一篇: gradle idea java ssm