一、JS中的运算符

  1、算术运算(单目运算符)
    + 加、-减、*乘、 /除、 %取余、++自增运算符 、--自减运算符;
    >>>+:有两种作用,链接字符串/加法运算符。当+两边全为数字时,进行加法运算;当+两边有任意一边为字符串时,起链接字符串的作用,链接之后的结果为字+符串。除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字;
    >>>/:结果会保留小数点。
    >>>++:自增运算符,将变量在原有基础上+1;
      --:自减运算符,将变量在原有基础上-1;

    [a++和++a的异同点]
     ①相同点:无论a++还是++a,运算完以后,a的值均会+1;
     ②不通电:a++,先用a的值去运算,再把a+1;
          ++a,先把a+1,再用a+1以后的值去运算;
      eg:

        

        所以,a=5,b=5,c=7;

  2、赋值运算
    = 赋值号(把右边的值赋给左边); += -= *= /= %=
    +=:a+=b; 相当于a=a+b;但是,前者的运算效率要比后者快,所以推荐使用+=的写法;

      eg:

        

   3、关系运算
    ==(等于)、 ===(严格等于)、 !=(不等于)、!==(不全等/不严格等于)>、<、>=、<=
    >>> 关系运算符,运算之后的结果,只能是boolean类型(true或false);
    >>> 判断一个数字是否处于某个区间,必须用&&链接
      eg:

        var a=3;

        alert(a<10 && a>2); √
        10>a>0 ×      

    >>> ===(严格等于:不但数值相同,类型也必须相同;类型不同,结果直接为false;类型相同,再进行下一步判断;)
      ==(等于。类型相同,与===效果一样。类型不同时,会先尝试用number函数将两边转为数字,然后再进行判断。但是有个别特例,如null==false × null==undefined √)



  4、条件运算符(多目运算符)
    a>b?true:false
    有两个重要符号:?和:
      当?前面部分运算结果为true时,执行:前面的代码;
      当?前面部分运算结果为false时,执行:后面的代码;

      冒号两边可以为数值,则整个式子可用于赋值。 var a = 1<2?1:2;
      冒号两边可以为代码块,将直接执行代码。 1<2?alert(1):alert(2);
      多目运算符可以多层嵌套。 var a = 1<2?alert(1):(1>0?4:5);

  5、位运算符、 逻辑运算符
    &&(与,and)、||(或)、!(非)
    && 两边都成立,结果为true
    || 两边有任意一边成立,结果为true
    &&和||同时存在,先算&&(&&的优先级高)

  6、运算符的优先级
    

  7、实例

   ①判断水仙花数

    

      运行结果:

     

    ②四则运算器

     

二、JS中的分支结构

  [if-else结构]

    1、结构的写法:
        if(判断条件){
            //条件为true时,执行if的{}
        }else{
            //条件为false时,执行else的{}
        }
    2、注意事项:
      ①else{}语句块可以根据情况进行省略。
      ②if和else后面的{}可以省略,但是省略{}后,if和else后面只能跟一条语句;(所以,并不建议省略{})
    3、if的()中的判断条件,支持的情况:
      ①Boolean:true为真,false为假;
      ②String:空字符串为假,所有非空字符串为真;
      ③Number:0为假,一切非0数字为假;
      ④Null/Undefined/NaN: 全为假;
      ⑤object: 全为真;

  [多重if、阶梯if结构]
    1、结构写法:
        if(条件一){
            //条件一成立,执行的操作
        }else if(条件二){
            //条件一不成立&&条件二成立,执行的操作
        }else{
            //上述所有条件都不成立时,执行的操作
        }
    2、多重if结构中,各个判断条件是互斥的,执行选择其中一条路执行。遇到正确选项并执行完以后,直接跳出结构,不再判断后续分支;

  [嵌套if结构]
    1、结构写法:

       

    2、在嵌套if结构中,如果省略{},则else结构永远属于离它最近的一个if结构。
    3、嵌套结构可以多层嵌套,但是一般不推荐超过3层。能用多重if结构的一般不推荐使用嵌套if。

JavaScript入门(二)的更多相关文章

  1. JavaScript入门(二)

    JavaScript入门—操作DOM树 要点 DOM树是一个树形结构,操作DOM树通常是“更新.遍历.新增.删除”. 更新DOM树 拿到DOM节点 var id=document.getElement ...

  2. Javascript入门(二)变量、获取元素、操作元素

    一.变量 Javascript 有五种基本数据类型 number.String.boolean.undefined.null 一种复合类型:object 二.使用getElementById方法获取元 ...

  3. JavaScript入门二

    ******函数****** **函数定义** //普通函数定义 function f1() { console.log("Hello word!") } //带参数的函数 fun ...

  4. JavaScript入门-函数function(二)

    JavaScript入门-函数function(二) 递归函数 什么是递归函数? 递归简单理解就是,在函数体里,调用自己. //我们在求一个10的阶乘的时候,可能会这么做 //写一个循环 var to ...

  5. JavaScript入门介绍(二)

    JavaScript入门介绍 [函数] 函数function 是Javascript的基础模块单元,用于代码的复用.信息影藏和组合调用. function a(){} 函数对象Function Lit ...

  6. JavaScript入门篇 编程练习

    编程挑战 一.定义"改变颜色"的函数 提示: obj.style.color obj.style.backgroundColor 二.定义"改变宽高"的函数 提 ...

  7. JavaScript入门

    本篇内容是学习慕课网相关课程后,总结出可能未来会忘记的内容 (一)JavaScript入门操作 1.js代码插入位置,以及执行顺序 <head> <script type=" ...

  8. 慕课网JavaScript入门篇课程笔记

    1.js注释很重要 单行注释,在注释内容前加符号 “//”. <script type="text/javascript"> document.write(" ...

  9. JavaScript入门介绍(一)

    JavaScript入门介绍 [经常使用的调试工具][w3school.com.cn在线编辑] [Chrome浏览器 开发调试工具]按F121.代码后台输出调试:console.log("t ...

  10. javascript入门视频第一天 小案例制作 零基础开始学习javascript

    JavaScript 是我们网页设计师必备的技能之一.我们主要用javascript来写的是网页特效.我们从零基础开始学习javascript入门. 但是,好的同学刚开始不知道怎么学习,接触js,因此 ...

随机推荐

  1. PageSlider中CSS3动画在除首屏之外先加载页面后执行动画的问题

    PageSlider中CSS3动画在除首屏之外先加载页面后执行动画的问题,PageSlider中加入CSS3动画的话,默认只有首屏是从无到有执行动画,其他屏都是显示下页面再执行动画 这就造成其他屏的动 ...

  2. maven仓库--搭建局域网私服(windows版)

    使用nexus搭建局域网私服 一. 认识maven仓库 1.1 maven仓库的作用   回想之前不用maven的时候,我们用eclipse原始的项目骨架构建项目时,在工程目录下往往有一个lib文件夹 ...

  3. (转载)jConsole,jvisualvm和jmap使用

    原文链接:http://my.oschina.net/freegarden/blog/286372 摘要 Oracle JVM自带了一些工具,观察java程序的运行,用于排错调优.正文将会对 jCon ...

  4. OpenStack(企业私有云)万里长征第五步——虚拟机Migrate&Resize

    一.前言 上一篇文章讲了OpenStack的部署和简单操作,今天介绍一下如何实现虚拟机的Migrate以及Resize.Migrate操作和Resize操作基本上属于同一种操作,Migrate操作只是 ...

  5. [asp.net mvc 奇淫巧技] 05 - 扩展ScriptBundle,支持混淆加密javascript

    一.需求: 在web开发中,经常会处理javascript的一些问题,其中就包括js的压缩,合并,发布版本以及混淆加密等等问题.在asp.net 开发中我们使用ScriptBundle已经可以解决ja ...

  6. 架构之路 之 Nginx实现负载均衡

    [前言] 在大型网站中,负载均衡是有想当必要的.尤其是在同一时间访问量比较大的大型网站,例如网上商城,新闻等CMS系统,为了减轻单个服务器的处理压力,我们引进了负载均衡这一个概念,将一个服务器的压力分 ...

  7. gtest 操作指南

    首先,下载gtest-17.0,CSDN上就可以免费下载. 然后,打开gtest-17.0下的msvc文件夹,运行gtest.sln,右键解决方案,选择生成解决方案,此时会在gtest-17.0/ms ...

  8. lombok的简单介绍和使用方法

    这是上周在群里发现有人推荐lombok,他说是神器,当时就引起了我的好奇,然后下班回来我就看了看官网介绍(菜鸟英语水平),这就是难点了,然后就是大概了解了一下,就在网上查了查相关资料,周末的时候自己试 ...

  9. JavaScript中的设计模式:单例模式

    定义 单例模式就是一个类只能实例化一个对象,并且提供了一个访问它的全局访问点. 一般在实现登陆框,或者一个全局的控制器都会用到单例模式.现实中有window对象,线程池,全局缓存等. 简单实现 var ...

  10. Android5.1 - 通讯录建立群组

    [问题] 在没有账户的时候,不应该有添加联系人群组的选项. 我们要把这个选项干掉. [相关log]06-23 17:25:00.804: E/GroupEditorFragment(6030): No ...