JavaScript基础2.语法、规范、错误、运算符、判断分支、注释

2.1写法、规范

语句结束;

加 ; 的好处
避免输入内容不完整
便于开发者通过删除空行来压缩代码
某些情况下提升性能
//可以不加;
for(){
}
if(){
}
switch(){
}
function(){
}
//单一var声明格式
var a = 1,
    b;
空格
var c = a + b;

2.2错误

语法错误

一行都不执行

console.log(1);
console.log(2);//中文;

(句法错误)

通用错误

执行到错误那行

console.log(1);
console.log(a);

引用误差

语法错误,代码块之间无影响

<script type="text/javascript">
  console.log(1);
</script>
<script type="text/javascript">
  console.log(1);//中文;
</script>

通用错误,代码块之间无影响

<script type="text/javascript">
    console.log(1);
</script>
<script type="text/javascript">
    console.log(1);
    console.log(a);
</script>

2.3运算符

+、-、*、/、%、()

//+
var a = 1,
    b = 2,
    c;
console.log(c);//3
//*
var a = 1,
    b = 2,
    d = 3;
var c = (a + b) * d;
console.log(c);
//1.声明变量
//2.变量a的值和变量b的值相加,与变量d的值相乘得到结果
//3.将该结果赋值给c
//括号运算>普通运算>赋值
+

数学运算符 字符串拼接

//数学运算符
var a = 1,
    b = 2,
    c;
c = a + b; 
//字符串拼接
var a = 1,
    b = 2,
    c;
c = 'str' + 'str';//strstr,字符串+字符串=字符串拼接 
c = 'str' + null;//strnull
c = 'str' + undefined;//strundefined
c = 'str' + NaN;//strNaN 任何数据值+字符串 = 字符串
C = 'str' + 1 + 1;//str11
c = 'str' + (1 + 1);//str2
c = 1 + 1 + 'str' + (1 + 1);//2str2
/
//除法
var a = 10,
    b = 2,
    c;
c = a / b;
console.log(c);//5
c = 0 / 0;//NaN(数字类型) =>Not a Number 非数
c = 'a' / 'b';//NaN
c = NaN / 1;//NaN
c = 1 / NaN;//NaN
C = 1 / 0;//Infinity  Infinity、-Infinity(数字类型)
%
console.log(5 % 3);//2
console.log(4 % 6);//4
console.log(0 % 6);//0

交换值的问题

//方法一
var a = 1,
    b = 2;
//a b 交换值
var c = a;
    a = b;
    b = c;
console.log(a,b);
//方法二
var a = 1,
    b = 2;
//a b 交换值
a = a + b;
b = a - b;
a = a - b;
++ --
var a = 1;
console.log(a++);//1
console.log(a);//2
var a = 1;
console.log(++a);//2
var a = 5,
    b;
b = a++ +1;//b = 6 , a = 6
var a = 5,
    b;
b = ++a +1;//b = 7 , a = 6
var a = 5,
    b;
b = a-- + --a;//b = 8 , a = 3
var a = 5,
    b;
b = --a + --a;//b = 7 , a = 3
var a = 5,
    b;
b = --a + a++;//b = 8 , a = 5  

>、<、>=、<=、==、===、!=、!===

>、<、>=、<=
number - number
var bool = 1 > 2;
console.log(bool);//false
var bool = 1 < 2;
console.log(bool);//true
number - string

string ->number再计算

var bool = 1 > '2';
console.log(bool);//false
var bool = 1 < '2';
console.log(bool);//true
string - string

字符串相对应的ASCII码(字符相对应的十进制代码),多个字符的,从左往右依次对比,直到比较出ASCII码的大小为止

var bool = 'a' > 'b';
console.log(bool);//false
var bool = 'a' < 'b';
console.log(bool);//true
var bool = '4.5' > '11';//先比较4和1
console.log(bool);//true
var bool = '1.5' < '11';//先比较1和1,再比较.和1
console.log(bool);//true
==

相等不看类型

var bool = 1 == '1';
console.log(bool);//true
===

全等看类型是否相等

var bool = 1 === '1';
console.log(bool);//false
var bool = 1 != 2;
console.log(bool);//true
!==
var bool = 1 !== '1';
console.log(bool);//true

NaN与包括自己在内任何东西都不相等

var bool = NaN == NaN;
console.log(bool);//false

逻辑运算

与&& 或|| 非!

假 : undefined、null、NaN、""、0 、false

除上述以外都是真

&&

1 && 1

返回1

0 && 1

返回0

1 && 0

返回0

0 && 0

返回0

//&&遇到真就往后走,遇到假或者走到最后就返回当前的值
var a = 1 && 2;
console.log(a);//2
var a = 1 && 2 && undefined && 10;
console.log(a);//undefined
||

1 || 1

返回1

0 || 1

返回1

1 || 0

返回1

0 || 0

返回0

//||遇到假就往后走,遇到真或者走到最后就返回当前值
var b = 1 || 2;
console.log(b);//1
var b = 0 || null || 1 || 0 ;
console.log(b);//1
document.onclick = function(e){
  var event = e || window.event;
}
!
var a = !1;
console.log(a);//false
var a = !!1;
console.log(a);//true
//取反
var a = !a;

2.4分支判断

在条件中&&就是并且,||就是或者

if

//IF
//条件:互斥性
//场景:范围
var score = 63;
if(score >= 90 && score <= 100){
  console.log('您的成绩等级为A');
}else if(score >= 80 && score < 90){
  console.log('您的成绩等级为B');
}else if(score >= 70 && score < 80){
  console.log('您的成绩等级为C');
}else if(score >= 60 && score < 70){
  console.log('您的成绩等级为D');
}else if(score<60){
  console.log('您的成绩不合格');
}else{
  console.log('您的成绩出现异常');
}

switch

//switch
//场景:定值
var city = window.prompt('请输入您所在的地区');
switch(city){
  case '北京':
    console.log('15k');
    break;
  case '上海':
    console.log('13k');
    break;
  case '深圳':
    console.log('12k');
    break;
  default:
    console.log('8k');
}

2.5注释

块注释

/*
*
*/

行注释

//

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值