篇首語(yǔ):本文由編程筆記#小編為大家整理,主要介紹了微信小程序--varletconst的用法及區(qū)別相關(guān)的知識(shí),希望對(duì)你有一定的參考價(jià)值。愛掏網(wǎng) - it200.com
前言
????初學(xué)小程序時(shí),在js中經(jīng)常會(huì)申明變量,但是有時(shí)用var,有時(shí)用let,有時(shí)又用const。愛掏網(wǎng) - it200.com開始也沒有仔細(xì)去研究區(qū)別,反正一律就用var(現(xiàn)在看來,以前的自己好懶)
var
概念:var申明的變量是全局變量,其作用域?yàn)樗诘暮瘮?shù)內(nèi)。愛掏網(wǎng) - it200.com
Page(
data:
,
onLoad: function (options)
var k=this
k.a()
k.b()
,
a:function()
var a=4
console.log("a函數(shù)中a="+a)
,
b:function()
var a=5
console.log("b函數(shù)中a=" +a)
)
操控臺(tái)打印結(jié)果
總結(jié):從上面的測(cè)試代碼我們可以看出,var 申明變量的作用范圍只是在本函數(shù)內(nèi),在其他函數(shù)中是不起作用的。愛掏網(wǎng) - it200.com就像上述例子中a方法中的a變量只存在于a函數(shù),對(duì)b函數(shù)中的a無影響。愛掏網(wǎng) - it200.com
let
概念:let申明的變量是局部變量,該變量只會(huì)在最靠近 內(nèi)的范圍有效,出了之后,該變量就不能夠再用了,否則會(huì)報(bào)該變量未定義的錯(cuò)誤。愛掏網(wǎng) - it200.com也就是說,該變量的作用域?yàn)樗诘拇a塊內(nèi)。愛掏網(wǎng) - it200.com
Page(
data:
,
onLoad: function (options)
var k=this
k.a()
,
a:function()
let i=1
for(let i=0;i
console.log("括號(hào)中的i="+i)
console.log("括號(hào)外面的i="+i)
,
)
控制臺(tái)打印結(jié)果
總結(jié):從上面的測(cè)試代碼我們可以看出,let申明變量的作用域只存在局部(可以理解為一個(gè)中括號(hào)內(nèi))。愛掏網(wǎng) - it200.com一旦出了括號(hào),變量值就不是預(yù)先申明的值。愛掏網(wǎng) - it200.com
const
概念:一般用于申明常量,一般寫在js文件的開頭
const x=1
Page(
data:
,
onLoad: function (options)
var k=this
k.a()
k.b()
,
a:function()
console.log("a函數(shù)中x="+x)
,
b:function()
console.log("b函數(shù)中x=" + x)
)
控制臺(tái)打印結(jié)果
總結(jié):可以看出,申明在js頭部的const 常量,在整個(gè)js中都可以得到該變量的值。愛掏網(wǎng) - it200.com那么假設(shè):a函數(shù)中申明一個(gè)const常量,那么b函數(shù)中可以正確打印其值嗎?
測(cè)試!
Page(
data:
,
onLoad: function (options)
var k=this
k.a()
k.b()
,
a:function()
const x = 1
console.log("a函數(shù)中x="+x)
,
b:function()
console.log("b函數(shù)中x=" + x)
)
控制臺(tái)打印結(jié)果
說明:這里可以看出,a函數(shù)中申明的const常量x,在b函數(shù)中并不可以正確打印其值,說明其作用域并沒有在b中!如果以后需要js中所有的函數(shù)都可以使用一個(gè)常量,那么就應(yīng)該在js文件最上方申明const常量。愛掏網(wǎng) - it200.com