本系列是为了转生,为了点技能而解任务的攻略提示,皆无营利、亦非营利取向。
var ming = '小明' 所生成的树显示 variableDeclaration:建立一个变数的 ming
ming = '小明'所生成的树是显示 assignmentExpression:建立一个 ming 属性
JS是用' '号,Java是用""来包裹string。
var ming = '小明':'小明'是赋值予变数ming,属於LHS。
var man = ming : ming是赋值予变数man,属於LHS。
console.log(ming) :console.log需要变数ming的值,向右寻找得'小明',属於RHS。
LHS错误:
console.log(ming) 改成console.log(min) :
RHS错误:
js之语法作用域(lexical scope):
静态作用域,变数在语法解析的时候就确定了作用的范围;动态作用域,变数在函式调用的时候才确定。
JS属於静态作用域。
静态作用域:
fn2()为多少?
虽然function fn2()里面已经有宣告value,但是function fn1()的里面并无宣告value,
造成为了执行console.log(value)而去寻找外部的 value = 1。
动态作用域:
fn2()为多少?
虽然function fn2()里面已经有宣告value,但是function fn1()的里面并无宣告value,
造成为了执行console.log(value)而去寻找上一层函式function fn2()的 value = 2。
var x = 1;
var doSomeThing = function(y) {
x = 100;
return x + y;
};
console.log( doSomeThing(50) ); // 150
console.log( x ); // 100
var x = 1;
var doSomeThing = function(y) {
var x = 100;
return x + y;
};
console.log( doSomeThing(50) ); // 150
console.log( x ); // 1
执行堆叠(execution stack):
指的是函式运行的时候会创造一个执行环境,执行环境则会依照函式的运作顺序,先执行先堆。
EX:
推叠顺序:
范围链(scope chain):
意思是「当函式的本身没有相对应的变数或函式时,他就会向外层去寻找」,因此这一个向外寻找的过程与执行堆叠以及执行环境并不会有任何直接关系。
提升(hoisting):
var a = '1';
当尚未开始执行的时候,只是先创造环境给变数a,等於在记忆体空间中腾出位置给变数a;当开始执行的时候才会在记忆体上给'1'这个数值。
先创造环境给变数a,等於在记忆体空间中腾出位置给变数a的过程,就是hoisting。
var a = '1';
function fn(){
......
};
若是函式(这边的函式是函式陈述式/函式逆名式)的创造阶段,记忆体空间中腾出位置给函式名fn(),且函式的陈述式function fn()亦会先行载入於记忆体。
>>: CSS For Kindle Made By Thefiresupport.Com
在昨天我们谈完如何使用Azure Kubernetes Service部署Container应用程序...
“They say ignorance is bliss.... they're wrong ” ...
将价值观转化为具体行为 有了明确的价值之後,下一步就是为每一个价值举出具体的行为。这是因为不管你陈述...
鬼门关前走一遭生死一瞬间的一周 事情是这样的,由於一个月前的我刚进入战斗营,对物件导向的概念还是非常...
灯光绕圈圈 ( 数字函式 ) 教学原文参考:灯光绕圈圈 ( 数字函式 ) 这篇文章会介绍如何使用「函...