变数是用来储存资料和进行基本运算的基本单位;在宣告时给资料一个名称,名称像一个盒子把资料装起来,需要用到的时候找盒子就可以拿到资料。
var a = 10;
var b = 20;
var c = 30;
JavaScript 是一个弱型别的语言,变数在宣告时不用指定型别,型别的资讯只在值或物件本身,变数只用来作为取得值或物件的参考
var d; // 因宣告 d 没给数值,所以 d 的内容为 undefined
可以在浏览器的 Devtools(工程模式)用 console.log(变数名)印出我们宣告过的变数 a、b、c、d 再加一个为宣告的 e,会得到如下图
可以看到 a、b、c 皆出现该有的值,未赋值的 d 显示值为 undefined,e 因为未宣告所以报错。
而对未 var(宣告)的变数也能直接赋值 e = 10 ,但是会有後遗症
e = 10; // 自动变成全域变数
_
、钱字号 $
-
跟 .
然後有一些是写 code 习惯上的注意事项
var userAddress = '台南某区某路某号'; // 小驼峰第二字以後字首大写
var UserNumber = '0912345678'; // 大驼峰字首皆大写
_
、钱字号 $
的字元命名变数,以免其他语系的系统打开变成乱码_
、钱字号 $
为开头的命名通常是有特殊用途,例:类别中的私有变数、常数或函式(方法)在 ES6 以前可以透过 var 来宣告变数,而 ES6 以後宣告分成了变数与常数
ES6 以前 | ES6 以後 |
---|---|
变数 var | 变数 var、let常数 const |
var 过的值可以一直 var 下去,但 let 不行;
var a = 3;
var a = 4;
var a = 5;
let b = 6;
let b = 7;
// 报错情况
let b = 6;
^
SyntaxError: Identifier 'b' has already been declared
var 与 let 最大的差异在於变数作用范围(scope)的不同.
MDN
let 可以宣告只能在目前区块、阶段或表达式中作用的变数。而
var 则是定义了一个全域变数,或是在整个 function 而不管该区块范围。
看的似懂非懂,没关系我们来写写看
let b = '全域 let b';
var b1 = '全域 var b1';
if(true){// Start of Block scope
let b = '区块 let b';
var b1 = '区块 var b1';
console.log(b);
console.log(b1);
}// End of Block scope
console.log(b);
console.log(b1);
// 四个 console.log 执行结果
区块 let b // 区块内宣告的 let b
区块 var b1 // 区块内宣告的 var b1(全域的 var b1 被覆盖)
全域 let b // 全域宣告的 let b
区块 var b1 // 区块内宣告的 var b1(全域的 var b1 被覆盖)
结论:除了区域跟执行顺序也有关系。
想要制作一个假背包,利用按钮显示背包,再按下按钮关闭背包。 要使用GameObject.SetAct...
看完这篇文章你会得到的成果图 (没有,今天不写程序,但要讲重要观念XD) PyQt 的程序逻辑 我特...
虽然在Day 9 聊了一些团队中的提问文化,我大原则仍希望我的团队内大家是开放的风气,什麽都可以问,...
今天恢复了点元气,终於能好好做事了。 萤幕录制 2021-09-13 下午7.44.19.mov 目...
第四章也蛮简单的,Böhm与Jacopini证明所有程序都可使用三种流程控制表达 执行一个子程序,然...