zoukankan      html  css  js  c++  java
  • js 表达式与运算符 详解(上)

    表达式:

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

    <script>
       var r = 2
       var pi = 3.14
       var circle = pi*r*r
       alert("这个圆的面积= "+circle)   //=>这个圆的面积=12.56
    </script>

    算术运算符:

    + 、- 、* 、/  、%

    +号用来连接两个字符串

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

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

     1 <script>
     2    var a = 3,b = 4 ;
     3     alert(a+b)             //=>7
     4     alert(a-b)                //=>-1
     5     alert(a*b)                //=>12
     6     alert(a/b)                //=>0.75
     7     alert(a%b)                   //=>3
     8     alert(a+"2")               //=>32
     9     alert(a+b+"3king")            //=>73king
    10     alert(""+a+b+"3king")            //=>343king
    11 
    12 </script>

    ++ 、-- 分为前缀开式和后缀形式

    前缀开式先加减1在执行

    后缀形式先执行再加减1

    所有能转换为number类型的其它类型能都自加和自减

    数值型能支持自增自减远算符

    布尔值能支持自增自减运算符

    null支持自增自减运算符

    字符串型不能支持自增自减运算符

    undefined不能支持自增自减运算符

    1 <script>
    2                var a = 1
    3                alert(a++)  //=>1
    4                alert(a)      //=>2   a++表示先执行再自增
    5                var b =1
    6                alert(++b)    //=>2
    7                alert(b)       //=>2    ++b表示先自增再执行
    8               //所有能强制转换为number的类型都能自减和自加
    9 </script>

    字符连接符:

    通过+连接字符串

    1 <script>
    2        document.write("欢迎来到"+"ziksang博客园")  //=>欢迎来到ziksang博客园
    3        document.write(1+"2")       //=>12
    4 </script>

    赋值运算符:

    = 、+= 、-= 、*= 、/= 、%=、

     1 <script>
     2      var a = 1,b =2;
     3      b =a
     4      alert(b)   //=> 1 a的值赋值给了b 覆盖了原本的值
     5      b +=a //=>3  其解析的意思是  b=b+a   1+2=3
     6      //同理
     7      b -=a 
     8      b *=a
     9      b /=a
    10      b %=a   //具体值大家可以去测试一下 用alert(b)来弹出各个不同的方式
    11 </script>
  • 相关阅读:
    js函数柯理化
    Promise异步编程解决方案
    set和map结构,class类
    原创:用node.js搭建本地服务模拟接口访问实现数据模拟
    原创:微信小程序如何使用自定义组件
    原创:微信小程序开发要点总结
    Nodejs CMS——基于 NestJS/NuxtJS 的完整开源项目
    浅谈js对象之数据属性、访问器属性、Object.defineProperty方法
    Promise初步详解(resolve,reject,catch)
    原生js面向对象实现简单轮播
  • 原文地址:https://www.cnblogs.com/Ziksang/p/5185772.html
Copyright © 2011-2022 走看看