表达式:

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

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

算术运算符:

+ 、- 、* 、/  、%

+号用来连接两个字符串

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

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

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

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

前缀开式先加减1在执行

后缀形式先执行再加减1

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

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

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

null支持自增自减运算符

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

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

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

字符连接符:

通过+连接字符串

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

赋值运算符:

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

 <script>
var a = 1,b =2;
b =a
alert(b) //=> 1 a的值赋值给了b 覆盖了原本的值
b +=a //=>3 其解析的意思是 b=b+a 1+2=3
//同理
b -=a
b *=a
b /=a
b %=a //具体值大家可以去测试一下 用alert(b)来弹出各个不同的方式
</script>

js 表达式与运算符 详解(上)的更多相关文章

  1. js 表达式与运算符 详解(下)

    比较运算符: > .>= .<. <=.  ==. !=. ===. !==. 比较运算符的结果都为布尔值 ==只比较值是否相等    而    ===比较的是值和数据类型都要 ...

  2. [js高手之路]深入浅出webpack教程系列2-配置文件webpack.config.js详解(上)

    [js高手之路]深入浅出webpack教程系列索引目录: [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数 [js高手之路]深入浅出webpack教程系列2-配置文件we ...

  3. js调试工具Console命令详解

    这篇文章主要介绍了js调试工具Console命令详解,需要的朋友可以参考下   一.显示信息的命令 复制代码 代码如下: < !DOCTYPE html> < html> &l ...

  4. JQ的offset().top与js的offsetTop区别详解

    一.前言 最近在做一个图片懒加载的插件,就纵轴(Y轴)而言,我需要时时获取图片的上偏移量,好判断是否已进入视图区域,而我所理解的是offsetTop应该是跟offset().top一样的,然后陷入了因 ...

  5. Net is as typeof 运行运算符详解 net 自定义泛型那点事

    Net is as typeof 运行运算符详解   概述 在了解运行运算符的前提我们需要了解什么是RTTI ,在任何一门面向对象的语言中,都有RTTI这个概念(即 运行时). RTTI(Run-Ti ...

  6. JQ的offset().top与JS的getBoundingClientRect区别详解,JS获取元素距离视窗顶部可变距离

     壹 ❀ 引 我在 JQ的offset().top与js的offsetTop区别详解 这篇博客中详细分析了JQ方法offset().top与JS属性offsetTop的区别,并得出了一条offset( ...

  7. IE8“开发人员工具”使用详解上(各级菜单详解)

    来源: http://www.cnblogs.com/JustinYoung/archive/2009/03/24/kaifarenyuangongju.html IE8“开发人员工具”使用详解上(各 ...

  8. C++框架_之Qt的窗口部件系统的详解-上

    C++框架_之Qt的窗口部件系统的详解-上 第一部分概述 第一次建立helloworld程序时,曾看到Qt Creator提供的默认基类只有QMainWindow.QWidget和QDialog三种. ...

  9. SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法

    本文转载自SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法 导语 作为一名安全爱好者,我一向很喜欢SSL(目前是TLS)的运作原理.理解这个复杂协议的基本原理花了我好几天的时间,但只要 ...

随机推荐

  1. OpenFlow能解决私有云网络VLAN问题么

    本文转载自:http://network.51cto.com/art/201202/314310.htm 在关于私有云网络的文章中,我们首先探讨了物理网络是否影响私有云.本文我们将讨论如何通过软件定义 ...

  2. CentOS 6.5 下安装 Redis 2.8.7(转)

    转自:http://www.cnblogs.com/haoxinyue/p/3620648.html CentOS 6.5 下安装 Redis 2.8.7 wget http://download.r ...

  3. 【大盛】HTC one/M7 ROM 最新本地化OrDroid8.2.6 高级、快速设置 永久root 更多自定义 稳定 流畅

    了解更多:点击下载ROM和学习更多 ROM版本 HTC-one_OrDroid8.2.6 ROM作者 雪狼团队·大盛 http://weibo.com/DaShengdd Android版本 Andr ...

  4. windows Nginx基本使用方法

    相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了 ...

  5. Java8中Lambda表达式的10个例子

    Java8中Lambda表达式的10个例子 例1 用Lambda表达式实现Runnable接口 //Before Java 8: new Thread(new Runnable() { @Overri ...

  6. IOS 多个ImageView图片层叠透明区域点击事件穿透

    经常用到多个透明图片层叠,但又需要获取不同图片的点击事件,本文实现图片透明区域穿透点击事件 实现人体各个部位点击 - (BOOL) pointInside:(CGPoint)point withEve ...

  7. 【linux驱动分析】ioctl函数的使用

    一.用户空间的ioctl     int  ioctl(int fd, unsigned long cmd, void *data); 第一个參数是文件描写叙述符,第二个參数代表传递的命令,它会原样传 ...

  8. Web classPath

    classpath,看名字,类路径,这样比如,对于java程序,就是告诉java程序哪里去找类.(java虚拟机都是通过类装载器的)想myeclipse中struts,spring,hibernate ...

  9. WCF - 序列化

    数据是信息的载体 在不同环境中有不同的类型 为保证处于不同平台的的应用能够正常的进行数据交互 必须采用一种双方都能理解的数据类型 XML无疑是最好的选择 但不是唯一的选择 例如JSON也是一种普遍认可 ...

  10. spring-data-redis工程

    官方文档:http://docs.spring.io/spring-data/data-redis/docs/current/reference/html/redis.html The Spring ...