javascript运算符

一、运算符和操作数的组合就称为表达式。

二、javascript运算符

(一) 算术运算符
  + - * / % var++ ++var var-- --var
  A. +
    (1) 用于数值的运算
    (2) 用于字符串的连接
  ***************************
  任何的数据类型和字符串相加都是等于相加以后的字符串
  *************************

  B. %
    (1)用于取余数,判断奇数或者是偶数
    (2)一般不用于小数,因为结果不确定。

  C. var++和++var
    ++在前面,自己先加,然后再赋值。
    ++在后面,先赋值,然后自己再加。

(二) 关系运算符(比较运算符)
  < > <= >= == === != !==
  (1)他运算的结果都是布尔值
  (2)都是字符串的时候,他会先转换成ASCII码然后进行比较他们的第一个字母。
  (3)都是数值的时候,他会正常比较
  (4)当一个字符串,另一个是数值的时候,把字符串尝试转换成数值类型,然后进行比较,如果不能转换成数值类型,则会返回NaN,然后返回假
  (5) undefined null
  (6)如果两个都是数值型字符串,那么他们也是只比较第一个
  (7)如果一个数值和布尔值进行比较,会把布尔值转换为数值再进行比较,true为1,false为 0

  A. == 只比较值是否相等
  (1) 比较字符串的时候是比较他们的ASCII码是否相等
  (2) 比较两个数值的时候是比较他们的数值是否相等
  (3) 比较函数的时候,判断他们的内存位置是否相等。
  B. === 不但比较值是否相等,还比较类型是否相等。

(三) 赋值运算符
  = += -= *= /= %=
  A. +=
  var a=1;
  a+=3; a=a+3
  (1) 用于数值的相加再赋值
  (2) 用于字符串的连接再赋值
  ***************************
  任何的数据类型和字符串相加都是等于相加以后的字符串
  *************************

(四) 逻辑运算符(布尔运算符)
  与 and && 或 or || 非not !

  A. &&
  if(a && b){
    alert("两个都是真的");
  }else{
    alert("至少有一个是假的")
  }
  运算符两边只要有一个是假,那么他的运算结果就是假,只有两个都为真的时候,运算结果才是真的。

  B.||
  if(a || b){
    alert("至少有一个是真的");
  }else{
    alert("两个都是假的")
  }
  运算符两边只要有一个是真的那么他就是真的,只有当两个都是假的时候,他才是假的。

  C.not !
  取反,假的变成真的,真的变成假的。

  (1)逻辑运算符可以对任何类型的数据进行运算但是在运算的时候,可以转换为对应的布尔值
    转换的规则

         Undefined-->false
             Null-->false
                     Boolean-->就是本身的值
          Number-->除了0以外都是真的
                     String-->除了空字符串意外都是真的
             对象-->真的

  (2)类变量进行赋值
    var a= b && c
    如果一个运算数是对象,另一个是 Boolean 值,返回该对象
    如果两个运算数都是对象,返回第二个对象
    如果某个运算数是 null,返回 null
    如果某个运算数是 NaN,返回 NaN
    如果某个运算数是 undefined发生错误
    var a=b ||c
    如果一个运算数是对象,并且该对象左边的运算数值均为 false,则返回该对象
    如果两个运算数都是对象,返回第一个对象
    如果最后一个运算数是 null,并且其他运算数值均为 false,则返回 null
    如果最后一个运算数是 NaN,并且其他运算数值均为 false,则返回 NaN
    如果某个运算数是 undefined发生错误

(五) 一元运算符
  typeof + - delete new ++ --

  A. +
    正号、正数

  B.delete
    删除对象的方法或是属性

  C.new
    用来创建一个对象

(六) 特殊的运算符

  , () = ? :
  A. ,
  用来一次声明多个变量

  B.()
  (1) 运算的时候有优先级的作用
    a*(b-c)
  (2) 运行一段函数

  C.根据表达式的计算结果有条件的为变量赋值
  格式: var 变量= Boolean expression?真值:假值

(七) 位运算符

JavaScript学习笔记——运算符和表达式的更多相关文章

  1. Dart学习笔记-运算符-条件表达式-类型转换

    Dart学习笔记-运算符-条件表达式-类型转换 一.运算符 1.算术运算符 + (加)- (减)* (乘)/ (除)~/ (取整) %(取余) 2.关系运算符 == (等等) != (不等) > ...

  2. 【Python】2.14&2.15学习笔记 运算符与表达式

    太爽了,今天可以尽情熬夜了,明天不上课,可以学一整天\(Python\) 运算符 \(+,-,*,%\)就不说了,说几个和\(c\)不太一样的 除法 print( 5/3 ) 输出了\(1.66666 ...

  3. JavaScript:学习笔记(8)——对象扩展运算符

    JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...

  4. JavaScript:学习笔记(6)——New运算符

    JavaScript:学习笔记(6)——New运算符 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例. 快速开始 当你使用new关键字的时候,会 创建一个新的对象 将th ...

  5. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  6. JavaScript:学习笔记(5)——箭头函数=>以及实践

    JavaScript:学习笔记(5)——箭头函数=>以及实践 ES6标准新增了一种新的函数:Arrow Function(箭头函数).本文参考的链接如下: MDN箭头函数:https://dev ...

  7. JavaScript:学习笔记(2)——基本概念与数据类型

    JavaScript:学习笔记(2)——基本概念与数据类型 语法 1.区分大小写.Test 和 test 是完全不同的两个变量. 2.语句最好以分号结束,也就是说不以分号结束也可以. 变量 1.JS的 ...

  8. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  9. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

随机推荐

  1. 直播CDN架构随想

    互联网内容载体变迁历程,文字--图片/声音--视频--VR/AR----从直播1.0秀场时代(YY).2.0游戏直播(斗鱼.虎牙.熊猫)到如今全民直播3.0泛生活娱乐时代(映客.花椒),国外直播App ...

  2. Qt学习中遇到的问题

    问题: 一个Qt小项目,编译成功并成功运行,但应用程序输出中出现如下异常:FTH: (9892): *** Fault tolerant heap shim applied to current pr ...

  3. 高手详解SQL性能优化十条经验

    1.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 解决办法: 其实只需要对该脚本略做改进,查询速度便会 ...

  4. [转]java反射机制

    原文地址:http://www.cnblogs.com/jqyp/archive/2012/03/29/2423112.html 一.什么是反射机制         简单的来说,反射机制指的是程序在运 ...

  5. Linux_RPM_查询

    一.查询是否安装 rpm  -q 包名 选项:     -q  查询(query) 查询所有已安装的RPM包 rpm -qa      -a  所有(all) 二.插叙软件包的详细信息 rpm -qi ...

  6. 【NOIP 2004】虫食算

    因为一天机房都是断网状态,校内的小V评测这道题总显示Unaccept,所以下午放学后就和xiaoyimi晚上回家自习,来做一做这道题. 搜索+剪枝优化: 一开始我是顺着低位向高位填数,这么暴力在Vij ...

  7. mysql-利润set变量模拟分组查询每组中的第N条数据

    查询思路: 很多时候想在使用group by时想查询group by的每一组中的第N条数据,而取这些数据时往往按如下方式去执行则很慢 ; 按如上方式,对于数据10000左右的表就已经很吃不消. 或已拼 ...

  8. js-判断字符是否为数字

    if(/^\d+$/.test(str)) { 全为数字,执行... } 当然你也可以用isNaN来判断 if(isNaN(str)) { str是个数字,执行... }

  9. html-div中内容自动换行

    <div style='width: 100px;display:block;word-break: break-all;word-wrap: break-word;'> 内容超出div宽 ...

  10. 如何知道某个网站的IP地址

    命令行窗口得到ip地址 1按键盘上的win键(alt键左面的小窗口)+R键 调用运行 2输入cmd 确定 调用系统的 命令行窗口 3在命令行窗口里输入 ping + 空格键 + www.*****.c ...