本文引用代码:demo
-
javascript的变量名区分大小写,A和a是两个不同的变量
-
声明变量而没有赋值,则该变量为
undefinedvar arr; console.log(arr); //undefined
-
没有声明就直接使用变量,javascript会报引用错误
console.log(x);//ReferenceError: x is not defined
-
同一条
var中可声明多个变量 -
所有变量的声明语句,都会被提升到代码的头部,包括函数,这叫做变量提升
console.log(a); var a=1; //undefined 以上代码等同于 var a; console.log(a); a=1;
a的声明提到了前面,所以代码不会报错,赋值却托在了后面,所以是输出了为赋值的变量
-
第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)
-
第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9
-
中文是合法的标识符
var 变量 = 1 -
javascript有一些保留字,不能用作标识符
arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield
if后面的表达式之中,不要混淆赋值表达式(=)和相等运算符(==)
var x = 1;
var y = 2;
if(x=y){
console.log(x);
}
//2if不加上括号,只能包括下面第一行代码
var a = 11
if(a < 10)
console.log('a是一位数')
console.log('a是小于 10 的数')
//a是小于 10 的数并没有进行bool运算,而是把y的值赋给了x,代码不会报错,所以很容造成疏忽,很多开发者喜欢将常量写在运算符左边,这样一旦写错等号就会报错if (2 = x) { // 报错
switch语句后面的表达式,与case语句后面的表示式比较运行结果时,采用的是严格相等运算符,这意味着比较时不会发生类型转换
var a = 1;
switch(a){
case true:
console.log(1);
break;
default:
console.log(0);
}
//0应用
var myVar;
var arr = myVar ? '1':'0';
console.log(arr);
//0var msg = '数字' + n + '是' + (n % 2 === 0 ? '偶数' : '奇数');例子
var i=0;
while(i<100){
console.log(i);
i++;
}
while (true) {
console.log('Hello, world');
}//死循环所有for循环,都可以改写成while循环
for(var i=0;i<100;i++){
console.log(i);
}无论如何都会执行一次
var i=0;
do{
console.log(i);
i++;
}while(i<0)
//0break退出代码块或者循环
for(var i=0;i<10;i++){
console.log(i);
if(i===5)
break;
}
//0,1,2,3,4,5continue终止本次循坏,开始下一个循环
for(var i=0;i<10;i++){
if(i===5)
continue;
console.log(i);
}
//0,1,2,3,4,6,7,8,9标签用于定位语句,便于break,continue指定位置
top:
for(var i=0;i<3;i++){
for(var j=0;j<3;j++){
if(i===1 && j===1)
break top;
console.log(i,j);
}
}
//0 0
//0 1
//0 2
//1 0top:
for(var i=0;i<3;i++){
for(var j=0;j<3;j++){
if(i===1 && j===1)
continue top;
console.log(i,j);
}
}
//0 0
//0 1
//0 2
//1 0
//2 0
//2 1
//2 2