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

2.算术运算符(+ - * / % a++ a-- --a ++a)

a.+

  1.用于数值计算:var a=1;var b=2;alert(a+b)===3

  2.用于字符串连接:var a='h';var b="w";alert(a+b)==hw

  ***任何的数据类型和字符串相加都是字符串***

  var a='h';var b=1;alert(a+b)=='h1'

b.%

  1.用于取一段范围的值(*取偶数。**取奇数)

  2.一般不用于小数,因为结果不确定

c.a++(++在后面,先赋值,自己再加;a=1;b=a++;b=1)

d.++a(--在前面,先加,再赋值;a=1;b=++a;b=2)

3.关系运算符(比较运算符)[< > <= >= == === != !==]

1.运算的结果都是布尔值(ture;false)

2.都是字符串的时候,会转换成ASCII码再比较;多个字符串只比较首个,首个相等再比较下一个。var a='abv';var b='aba';alert(a>b);结果ture.

  ASCII码:a=a; -> b=b; -> v>a;

3.都是数值正常比较

4.当一个是字符串,一个为数值的时候;会把字符串转化为数值类型,然后进行比较,如果不能转换为数值类型,则会返回NaN,返回false

5.unfinished null

6.如果两个都是数值型字符串,那么他们也只是比较第一个。

  var a='223';var b='31';alert(a>b); == false

7.一个数值和布尔值比较,会把布尔值转化为数值后再较。false=0;true=1

  注意:== 只比较值是否相等

  1.比较字符串时,是比较ASCII码值

  2.比较两个数值是比较他们的数值是否相等

  3.比较函数的时候,是判断他们的位置是否相等

  注意:===不但比较值,还比较类型是否相等

3.赋值运算符(= += -= *= /= %= )

1.+=

  1.用于数值的相加再赋值var a=1;a+=2;a=3

  2.用于字符串连接再赋值

  注意:任何的数据类型和字符串相加都是等于相加后的字符串

4.逻辑运算符(布尔运算符)[与and && 或 or || 非 not !]

  a&&b 两个都为真,才返回为真

  a||b 其中一个为真,就返回为真

  !a 取反,假变真,真变假

  1.可以对任何类型的数据进行运算,运算的时候转换为对应的布尔值

    undefined:false

    null:false

    boolean:就是本身的值

    number:除了0以为都是真的

    string:除了空字符串以为都是真的

    对象:true

  2.类变量进行赋值

    var a = b && c

    如果一个运算数是对象,另一个是 Boolean 值,返回该对象。

    如果两个运算数都是对象,返回第二个对象。

    如果某个运算数是 null,返回 null。

    如果某个运算数是 NaN,返回 NaN。

    如果某个运算数是 undefined,发生错误。

    w3c 逻辑运算符--详解!

5.一元运算符

typeof + - delete new ++ --

A. + 正号、正数

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

C.new 用来创建一个对象

6.特殊运算符

A. , 用来一次声明多个变量

B.()

  1.运算的时候有优先级的作用 a*(b-c)

  2.运行一段函数

C.三元运算符(根据表达式的计算结果有条件的为变量赋值)

  格式: var 变量= Boolean expression?真值:假值

  var c=a>b?a:0;

7.位运算符(不是很懂这个,忘大神指点指点)

javascript笔记整理(运算符 )的更多相关文章

  1. JavaScript笔记整理

    整理一篇工作中的JavaScript脚本笔记,不定时更新,笔记来自网上资料或者自己经验归纳. (1) 获取Url绝对路径 function getUrlRelativePath() { var url ...

  2. javascript笔记整理(事件)

    一.事件驱动 1.事件javascript侦测到的用户的操作或是页面的一些行为(怎么发生的) 2.事件源引发事件的元素(发生在谁的身上) 3.事件处理程序对事件处理的程序或是函数 (发生了什么事) 二 ...

  3. javascript笔记整理(对象的继承顺序、分类)

    Object.prototype.say=function(){ alert("我是顶层的方法"); } children.prototype=new parent(); pare ...

  4. javascript笔记整理(对象遍历封装继承)

    一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...

  5. javascript笔记整理(对象基础)

    一.名词解释 1.基于对象(一切皆对象,以对象的概念来编程) 2.面向对象编程(Object Oriented Programming,OOP) A.对象(JavaScript 中的所有事物都是对象) ...

  6. javascript笔记整理(数组)

    数组是一个可以存储一组或是一系列相关数据的容器. 一.为什么要使用数组. a.为了解决大量相关数据的存储和使用的问题. b.模拟真是的世界. 二.如何创建数组 A.通过对象的方式来创建——var a= ...

  7. javascript笔记整理(回调、递归、内置顶层函数)

    1.回调函数(通过函数的指针来调用函数,把一个函数的指针做为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数) a.通过指针来调用 function aa(a,b,fun){ retur ...

  8. javascript笔记整理(变量作用域)

    变量的作用域(作用域:指的就是一段代码的作用范围) 一.变量的作用域 1.全局变量(在代码中任何地方都能够访问得到的变量,拥有全局的作用域) A.最外层函数外面定义的变量 var a=1; funct ...

  9. javascript笔记整理(函数)

    javascript函数的声明和调用将完成某一特定功能的代码集合起来,可以重复使用的代码块. 一.函数的声明方式(创建) A.基本语法(function  关键字)function 函数名([参数1] ...

随机推荐

  1. [LeetCode]题解(python):028-Implement strStr()

    题目来源: https://leetcode.com/problems/implement-strstr/ 题意分析: 输入两个字符串haystack和needle,如果needle是haystack ...

  2. ajax是怎么发请求的和浏览器发的请求一样吗?cookie

    下午设置cookie时出现了个问题 用ajax发的post请求php,在php的方法里设置了cookie,然后在浏览器请求的php里打印cookie值但是一直获取不到cookie的值 分析: 1.aj ...

  3. NAS简介

    转自IBM资料库:https://community.emc.com/docs/DOC-15977 在20世纪80年代初,英国纽卡斯尔大学布赖恩.兰德尔教授 ( Brian Randell)和同事通过 ...

  4. poj 1604 Just the Facts

    /** 大意: 求n! 结果 从左到右 第一个非零数 跟 1150 差不多.. **/ #include <iostream> #include <cstdio> using ...

  5. 转: 如何实现jQuery的Ajax文件上传

    [PHP文件上传] 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的.实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用上 ...

  6. 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序

    工作.工作.找工作.经过1个多星期的思想斗争还是决定了找JAVA方面的工作,因为好像能比PHP的工资高点.呵呵 :-)  (其实我这是笑脸,什么QQ输入法,模拟表情都没有,忒不人性化了.) 言归正传, ...

  7. cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(三)-按键处理

    在地图初始化好了之后,就开始移动马里奥吧,我在windows下,是使用键盘来移动马里奥的 w是跳,d是前进,a是后退,那么在程序里是怎么来获取这个按键的呢? 普通的windows程序,在按键之后,会有 ...

  8. 基于visual Studio2013解决C语言竞赛题之0407最大值最小值

      题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...

  9. CentOS下mysql最大连接数设置 1040 too many connection

    当最大连接数比較小时,可能会出现"1040 too many connection"错误. 能够通过改动配置文件来改动最大连接数,但我连配置文件在哪都不知道,应该怎么办呢? 首先须 ...

  10. ceph之crush map

    编辑crush map: 1.获取crush map: 2.反编译crush map: 3.至少编辑一个设备,桶, 规则: 4.重新编译crush map: 5.重新注入crush map: 获取cr ...