•位操作符

  所有的按位操作符的操作数都会被转成补码形式的有符号的32位整数。

运算符 用法 描述
按位与(AND) a & b 对于每一个比特位,只有两个操作数相应的比特位都是1时,结果才为1,否则为0。
按位或(OR) a | b 对于每一个比特位,当两个操作数相应的比特位至少有一个1时,结果为1,否则为0。
按位异或(XOR) a ^ b 对于每一个比特位,当两个操作数相应的比特位有且只有一个1时,结果为1,否则为0。
按位非(NOT) ~a 反转操作符的比特位,即变成1,1变成0。
左移(left shift) a<<b 将a的二进制形式向左移b(<32)位比特位,右边用0填充。
有符号右移 a>>b 将a的二进制形式向右移b(<32)位比特位,丢弃被移出的位。
无符号右移 a>>>b 将a的二进制形式向右移b(<32)位比特位,丢弃被移出的位,并使用0在左侧填充

有符号右移:拷贝最左侧的位以填充左侧

  无符号右移:左侧用0填充

  对任一数值 x 进行按位非操作的结果为 -(x + 1)。例如,~5 结果为 -6。

  在数字 x 上左移 y 比特得到 x * 2y.

•条件运算符

  条件运算符也叫三元运算符

    语法:条件表达式?语句1:语句2;

执行的流程:

条件运算符在执行时,首先对条件表达式进行求值

      如果该值为true,则执行语句1,并返回执行结果

      如果该值为false,则执行语句2,并执行返回结果

      

如上图所示:a显然不大于3,所以执行语句2,并执行返回结果 bbbb

•运算符的优先级

•流程控制

流程控制语句

    --程序都是自上向下的顺序执行的 ,通过流程控制语句可以改变程序执行的顺序,或者反复的执行某一段的程序。

      --分类:1条件判断语句        

         2条件分支语句                                   

         3循环语句

◊分支语句   

-->条件判断语句(if)

  一般书写if分支的时候,我们的控制条件都不是互斥的,我们应该将小范围的条件写在前面

练习一:

      

练习二:

                    

◊条件分支语句

练习一:

练习二:

◊循环语句       

通过循环语句可以反复执行某些语句多次

    循环语句组成的四个部分:

          1:初始化表达式

          2:循环条件表达式

          3:循环体部分

          4:迭代部分(更新表达式)

◊for循环 

  语法:

  for(①初始化表达式 ; ②循环条件表达式 ; ④更新表达式){

      ③循环体

    }

练习一:

     

练习二:

   

练习三:

          

while循环    

- 语法:

①初始化表达式

while(②循环条件表达式){

③循环体

④更新表达式

}

- 执行流程:

while语句在执行时,会先对条件表达式进行求值判断,

如果判断结果为false,则终止循环

如果判断结果为true,则执行循环体

循环体执行完毕,继续对条件表达式进行求值判断,依此类推

练习:

       

◊do....while循环   

- 语法:

①初始化表达式

do{

③循环体

④更新表达式

}while(②循环条件表达式)

- 执行流程

       do...while在执行时,会先执行do后的循环体,然后在对条件表达式进行判断,

如果判断判断结果为false,则终止循环。

如果判断结果为true,则继续执行循环体,依此类推

      - 和while的区别:

while:先判断后执行

do...while: 先执行后判断

do...while可以确保循环体至少执行一次。

练习:

             

 ◊死循环

- 语法:

    while(true){      

         

}

for(;;){

}

练习:

嵌套循环   

打印*****:

打印:*****

****

***

**

*

打印:*

   **

     ***

****

   *****

JavaScript笔记(3)的更多相关文章

  1. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  2. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

  3. [Effective JavaScript 笔记]第3章:使用函数--个人总结

    前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...

  4. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

    函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...

  5. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  6. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  7. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  8. JavaScript笔记目录

    JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待

  9. 蛋糕仙人的javascript笔记

    蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html

  10. JavaScript笔记(第一章,第二章)

    JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...

随机推荐

  1. [LeetCode] 2. Add Two Numbers 两个数字相加 java语言实现 C++语言实现

    [LeetCode] Add Two Numbers 两个数字相加   You are given two non-empty linked lists representing two non-ne ...

  2. (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框

    Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读  ...

  3. c#学习0216

    2017-03-02 out  关键字指定所给的参数为一个输出参数 该参数的值将返回给函数调用中使用的变量 注意事项 1未赋值的变量用作ref参数是非法的,但是可以把未赋值的变量用作out参数 2 在 ...

  4. QNX多线程同步之Barrier(屏障)

    之前和大家介绍过QNX上的线程同步方法metux和semophore,通过这两种方法可以对一个或者几个资源进行加锁,避免资源使用上的冲突.在另一种情况下,某个线程需要在其它线程完成工作后才继续执行,这 ...

  5. apache源码编译安装

    源码安装apche 下载apache的源码包文件 访问http://mirror.bit.edu.cn/apache/httpd/,复制如下gz文件的链接地址,并使用wget下载到本地 wget -P ...

  6. HTTP 文件共享服务器工具 - chfs

    CuteHttpFileServer/chfs是一个免费的.HTTP协议的文件共享服务器,使用浏览器可以快速访问.它具有以下特点: 单个文件,整个软件只有一个可执行程序,无配置文件等其他文件 跨平台运 ...

  7. (QT)在命令行编译ui文件和程序

    1.新建helloworld_2文件夹,将helloworld里的main.cpp和hellodialog.cpp两个文件复制过来. 2.打开控制台.此时不能用cmd,否则不能出最后的结果(lz在运行 ...

  8. 紫书 例题8-14 UVa 1607 (二分)

    题意非常难理解-- #include<cstdio> #define REP(i, a, b) for(int i = (a); i < (b); i++) using namesp ...

  9. docker环境下mysql参数修改

    原文:docker环境下mysql参数修改 需要修改log_bin为on,看了好几个博客说都需要删掉容器重新生成,然而并非如此, 我们可以用docker cp 命令将docker的文件"下载 ...

  10. The Karplus-Strong Algorithm

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/48730857 Karplus-Stro ...