在程序语言中了解程序的周期是很重要的。
在昨日我们已经先了解variables的一些规则了,其中就有包含Scope的概念,让我们来好好了解吧!!!
function scope(){
var a = 1
console.log(a); //1
}
scope()
console.log(a)//ReferenceError: a is not defined
以上的程序码中是正常的现象,相信大家经过昨日的变数区块有稍微了解。
但以下的呢?
var a = 3
function scope(){
console.log(a);
}
scope()
console.log(a)
你能猜到吗?
其实结果会输出2个3
var a = 3
function scope(){
console.log(a); //3
}
scope()
console.log(a)// 3
上面的tips中「可以由内层读取外层」是很重要的观念!!!
由於scope function中没有定义a的变数,所以会一层一层往外查找,直到连global scope都没有才会跑出reference error。
下面code就可以很清楚的了解function scope
var a = 3
function scope(){
var a = 10
function inner(){
console.log(a) //10
}
inner()
}
scope()
console.log(a)// 3
由於inner funtion被呼叫执行console.log(a),但inner中没有定义a的变数,所以往外查找,而看到scope中有定义a,於是很放心的就reference。
昨天的variables我们很明确的解释了以下
ok,你说那为什麽JavaScript要有这麽麻烦的现象???
function sayHi(para) {
console.log(`Hello I'm ${para}`)
}
sayHi('Ian') //Hello I'm Ian
如果function都要由上而下从头写到尾,不能有任何差错,并且都先宣告再使用其实对於开发是一件非常恼人的事情!!!
sayHi('Ian') //Hello I'm Ian
function sayHi(para) {
console.log(`Hello I'm ${para}`)
}
最後总结一下
今天讲得比较少,主要是小弟重感冒,等之後觉得需要补充,会再更新的
介绍 Laravel 的数据库查询构建器提供了一个方便、流畅的界面来创建和运行数据库查询。它可用於在...
在学习前端的过程,有做过真实需求的网站,会是珍贵的经验。而并不是时时刻刻都会有充足的案子,带每一个...
今天要来介绍後端,所谓的後端简单来说就是负责资料的部分,因为有关於资料都会是他们处理,而要让资料显示...
在 软件开发的用户需求哪里来? 介绍了很多软件开发时,蒐集需求的方法,但每个蒐集方法得执行方式都不同...
这期要介绍抬头显示器(HUD)的一些功能和种类,让我们马上开始。 抬头显示器可用於汽车上。它将讯息投...