JavaScript 表示式与运算符

JavaScript 表示式与运算符

一 表达式

表达式是用于JavaScript脚本运行时进行计算的式子,可以包含常量,变量,运算符。

二 运算符

1.算术运算符【+,-,*,/,%,++,–】

1) ++,–分为前缀和后缀形式【前缀形式先加减1再执行,后缀形式先执行再加减1】

注意:

a:数值型支持自增自减型;

b:布尔类型支持自增自减型;

c:字符串型不支持自增自减型;

d:null支持自增自减型;

e:undefined不支持自增自减型;

2)注意;

a,+号用来连接两个字符串;

b,只要+连接的操作数中有一个是字符串型,JS就会自动把非字符串型数据作为字符串型数据来处理

c. JS代码的执行顺序是从左到右,所以在+连接的表达式中,遇到字符串型数据之前,所有出现的数值型数据(或者可以自动转换为数值型的数据)仍被作为数值来处理。为了避免这种情况,我们可以在表达式前拼一个空字符串。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script type="text/javascript">
    //算术运算符的例子
    var i= 3,j=8;
    document.write(i+j);
    document.write('<br/>');
    document.write(i-j);
    document.write('<br/>');
    document.write(i*j);
    document.write('<br/>');
    document.write(i/j);
    document.write('<br/>');
    document.write(i%j);
    document.write('<br/>');
    document.write(3%-8);
    document.write('<br/>');
    document.write(-3%8);
    document.write('<br/>');
    document.write(-3%-8);
    document.write('<br/>');
      //+比较特殊
    document.write(i+'8')
    document.write('<br/>');
    document.write('2'+'8');
    document.write('<br/>');
    document.write(i+j+'3king');
    document.write('<br/>');
    document.write(''+i);
    var z=''+i;
     //alert(typeof z);
    document.write('<br/>');
    document.write(''+i+j+'3king');
    document.write('<br/>');
    //自增自减运算符  ++    - -
    //整型支持自增自减运算符
    var num1=1;
    //  alert(num1++);
    // alert(num1);
    //alert(++num1);
    // alert(--num1)
    //浮点型支持自增自减运算符;
     num1=12.3;
   // alert(--num1);
    num1=true;
    num1=false;
    //alert(++num1);
    //alert(--num1);
    //字符串型不支持自增自减
    num1='b';
    //alert(++num1);
    //alert(++num1);
    num1=null;
    //alert(++num1);
    //alert(--num1);
    num1=undefined;
    //alert(++num1);
    alert(--num1);
</script>
</body>
</html>


  1. 字符连接符
    通过+连接字符串
!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script type="text/javascript">
    //字符串连接符+
    document.write('hello'+'maizi'+'<br/>');
    document.write(1+'king'+'<br/>');
    var i= 1,j= 2,z=3;
    document.write(''+i+j+z);
</script>
</body>
</html>

3.赋值运算符【=,+=,-=,*=,/=,%=,.=】

4.比较运算符【>, >=, <, <=, ==, !=, ===】【!=】

注意:
1)比较运算符的结果为布尔类型

2)==只能比较是否相等,

3)===比较值和类型

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script type="text/javascript">
    //字符串连接符+
    document.write('hello'+'maizi'+'<br/>');
    document.write(1+'king'+'<br/>');
    var i= 1,j= 2,z=3;
    document.write(''+i+j+z);
    document.write('<br/>');
    //赋值运算符的例子
    var username='king';
     document.write('用户名为: '+username+'<br/>');
    //+= -= *= /= %= .=
    var a=1;
    a+=3;//a=a+3
    //alert(a);
    a-=6;
    a*=8;
    a/=4;
    a%=9;
    document.write(a);
    docuent.write('<br/>');
    var str1='hello',str2=[']world';
    str2+=str1;//str2=str2+str1;
    document.write(str2);
//比较运算符的例子
    //alert(3>1);
    var res=1==true;
    res=1=='1';
    res=3=='3king'
    res=0==null;//false
    res=0!==null;//false
    res=1===true;
    res=1!==true;
    //alert(res);
    alert(NaN==NaN)//false
    alert(undefined==undefined)
</script>
</body>
</html>

5.逻辑运算符【&&,||,!】

注意:
1)逻辑运算符的结果为布尔类型;
2)&&如果第一个表达式为false,造成短路;
3)||如果第一个表达式为true,造成短路;

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script type="text/javascript">
        //逻辑运算符的例子
        //要求两个表达式为true,结果才是true
        //alert(true && true);
        //alert(true && false);
        //alert(false && true);
        //alert(false && false);
//  如果第一个表达式为false,整个结果为false,就把第二个表达式短路了
        var i= 0,j=1;
        if(i-- && j++){//0->false &&
            document.write('hello');
        }else{
            document.write('world');
        }
        //alert(i);
       // alert(j);
        //逻辑或||
        //两个表达式 中有一个为true,整个结果为true
           // alert(true || true);
            //alert(true || false);
            //alert(false || true);
            //alert(false || false);
            //如果第一个表达式为false,整个结果为false,就把第二个表达式短路了
              i=1;
        j=0;
        if(i-- || ++j){//1->true
            document.write('aa');
        }else{
            document.write('bb');
        }
       //alert(i);
        //alert(j);
//逻辑非 !,取反的作用
	 alert(!true);
        alert(!false);

</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值