表达式:

表达式是用于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. JavaScript高级程序设计4.pdf

    虽然执行环境的类型总共只有两种——全局和局部(函数),但还有其他方法延长作用域链,有些语句可以在作用域链的前端临时增加一个变量对象,执行后会被移除try-catch语句的catch块和with语句 w ...

  2. Django中静态文件引用优化

    静态文件引用优化 在html文件中是用django的静态文件路径时,一般会这么写: <script type="text/javascript" src="/sta ...

  3. SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别

    这两种条件放置的位置不同很容易让人造成混淆,以致经常查询出莫名其妙的结果出来,特别是副本的条件与主表不匹配时,下面以A,B表为例简单说下我的理解. 首先要明白的是: 跟在ON 后面的条件是对参与左联接 ...

  4. 给iphone模拟器添加照片

    http://blog.csdn.net/StudyRecord/archive/2011/04/06/6305271.aspx 由于模拟器上没有照相机,要向Photos应用程序添加照片,必须按照以下 ...

  5. C#邮件接收系统核心代码(接收POP3邮件IMAP邮件)

    /* * Created by SharpDevelop. * User: Administrator * Date: 2013/11/18 * Time: 20:55 * * To change t ...

  6. Elasticsearch .Net Client NEST 索引DataSet数据

    NEST 索引DataSet数据,先序列化然后转成dynamic 类型进行索引: /// <summary> /// 索引dataset /// </summary> /// ...

  7. shell入门之expr的使用 分类: 学习笔记 linux ubuntu 2015-07-10 14:59 76人阅读 评论(1) 收藏

    在expr中加减乘除的使用,脚本如下: #!/bin/sh #a test about expr v1=`expr 5 + 6` echo "$v1" echo `expr 3 + ...

  8. at91sam9x5 linux 4.1.0下使能蜂鸣器驱动

    测试环境:  CPU: AT91SAM9X35      Linux: Atmel提供的linux-at91-linux4sam_5.3 (Linux-4.1.0) 转载请注明: 凌云物网智科嵌入式实 ...

  9. jQuery作用

    jquery是前端里面比较总要的,是很强大的一个选择器. 表单: 1.$(":input") 查找所有的input元素 2.$("text")    匹配所有的 ...

  10. 什么是JPA

    起源 JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分.但它不囿于EJB 3.0,你可以在Web应用.甚至桌面应用中使用.JPA的宗旨是为POJO提供持久化标准规范,由此可见,经过 ...