第一章JavaScript的编程环境和模型

1.2JavaScript编程实践

  1.2.1 声明和初始化变量

    JavaScript中的变量默认为全局变量,如果初始化未被声明的变量,该变量就成了一个全局变量。

    javascript中使用关键字var声明初始化变量。  var 变量名;   var 变量名=初始化值;

  例如:

  1. var name;
  2. var number=10;
  3. var text="Hellow World";
  4. var bool=false;

  1.2.2 Javascript中的算是运算符和数学库函数

  JavaScrip算是运算符:(可用括号改变运算顺序)

      +  加
      -  减
      *  乘
      /  除
      % 取余

  JavaScript同有一个数学库,提供了一些方法来实现某些运算:

  1. console.log(Math.abs(-3)); //取绝对值
  2. console.log(Math.round(2.345)); // 四舍五入
  3. console.log(Math.ceil(2.345)); // 向上舍入
  4. console.log(Math.floor(2.345)); //向下舍入
  5. console.log(Math.max(4,5)); //取最大值
  6. console.log(Math.min(4,5)); //取最小值
  7. console.log(Math.sqrt(9)); //取平方根
  8. console.log(Math.random()); //0-1之间的随机数
  9. console.log(Math.pow(2,3)); //2的3次幂

     

  1.2.3 判断结构

    判断结构根据布尔表达式的值进行判断,选择执行那些语句。

    (1) if语句(三种形式)

          if        if(条件){ 语句 }

          if-else     if(条件){ 语句 }else{ 语句 }

          if-else if     if(条件){ 执行语句 }else if( 条件 ){ 语句 }

      if

  1. var number=15;
  2. if(number>10){
  3. number-=10;
  4. }

      if-else

  1. var number=15;
  2. if(num>10){
  3. number-=10;
  4. }else{
  5. number+=10;
  6. }

      if-else if

  1. var number=15;
  2. if(num>10){
  3. number-=10;
  4. }else if(num>0){
  5. number+=10;
  6. }

    (2)switch语句

        switch语句判断的表达式可以为任意类型,无论是整型、字符型等等 都可以。

  1. var number=1;
  2. var week;
  3. switch(number){
  4. case 0:week="星期日"; break;
  5. case 1:week="星期一"; break;
  6. case 2:week="星期二"; break;
  7. case 3:week="星期三"; break;
  8. case 4:week="星期四"; break;
  9. case 5:week="星期五"; break;
  10. case 6:week="星期六"; break;
  11. default: console.log("number");
  12. }

  1.2.4 循环结构

    while循环

  1. var number=1;
  2. var sum=0;
  3. while(number<=10){
  4. sum+=number;
  5. number++;
  6. }
  7. console.log(sum); //打印55

    do{  }while()

  1. var number=1;
  2. var sum=0;
  3. do{
  4. sum+=number;
  5. number++;
  6. }while(number<=10);
  7. console.log(sum); //打印55

    for 循环

  1. var number=1;
  2. var sum=0;
  3. for(number;number<=10;number++){
  4. sum+=number;
  5. }
  6. console.log(sum); //打印55

    //以上所求皆为1-10的累加和

   for循环可以用于遍历

  1. var arr=[1,2,3,4,5,6,7,8,9,10];
  2. var sum=0;
  3. for(var i=0;i<arr.length;i++){
  4. sum+=arr[i];
  5. }
  6. console.log(sum); //打印55

  1.2.5 函数

    JavaScript两种函数定义方式

          有返回值的函数

          无返回值的函数 (又名  子程 或 void 函数)

     (1)有返回值的函数

  1. function getSum(number){
  2. var sum=0;
  3. for(var i=1;i<=number;i++){
  4. sum+=i;
  5. }
  6. return sum;
  7. }
  8. console.log( getSum(5) ); //打印15
  9. console.log( getSum(10) ); //打印55

    (2)无返回值的函数

        执行该函数并不是为了得到返回值,而是要  执行这个函数中的语句操作

  1. function change(arr,number){
  2. for(var i=0;i<arr.length;i++){
  3. arr[i]+=number;
  4. }
  5. }
  6. var arr=[4,5,6,7,8,9];
  7. change(arr,10);
  8. console.log(arr); //打印[14,15,16,17,18,19]

--

读书笔记《数据结构与算法JavaScript描述》第一章的更多相关文章

  1. 数据结构与算法 java描述 第一章 算法及其复杂度

    目录 数据结构与算法 java描述 笔记 第一章 算法及其复杂度 算法的定义 算法性能的分析与评价 问题规模.运行时间及时间复杂度 渐进复杂度 大 O 记号 大Ω记号 Θ记号 空间复杂度 算法复杂度及 ...

  2. 《数据结构与算法JavaScript描述》

    <数据结构与算法JavaScript描述> 基本信息 作者: (美)Michael McMillan 译者: 王群锋 杜欢 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9 ...

  3. 翻阅《数据结构与算法javascript描述》--数组篇

    导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性 ...

  4. 数据结构与算法javascript描述

    <数据结构与算法javascript描述>--数组篇 导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScri ...

  5. 列表的实现-----数据结构与算法JavaScript描述 第三章

    实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...

  6. 《数据结构与算法JavaScript描述》中的一处错误

    最近在看<数据结构与算法JavaScript描述>这本书,看到选择排序这部分时,发现一个比较大的错误. 原书的选择排序算法是这样的: function selectionSort() { ...

  7. 数据结构与算法 Javascript描述

    数据结构与算法系列主要记录<数据结构与算法 Javascript描述>学习心得

  8. 读后感:数据结构与算法JavaScript描述

    本书看完,对常见的数据结构与算法从概念上有了更深入的理解. 书中关于数组.栈和队列.链表.字典.散列.集合.二叉树.图.排序.检索.动态规划.贪心算法都有详细的介绍.算是一本不错的学习书籍. 栈和队列 ...

  9. 【读书笔记】《编程珠玑》第一章之位向量&位图

    此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...

随机推荐

  1. UVA1464 Traffic Real Time Query System

    传送门:https://www.luogu.com.cn/problem/UVA1464 看到这道题,求必经的点数,还是无向图.那么妥妥的圆方树.圆方树上的任意两圆点间的路径必定是圆点方点相交错的,对 ...

  2. unity vscode 断点问题

    困扰了很久的vscode老莫名其妙的断到网络通信那里. 后来发现是因为起来了一个线程并且调用的unity API 导致. unity 线程中是禁止调用unity API 的. 删掉用 DateTime ...

  3. 蜂鸟E203系列——Linux开发工具

    欲观原文,请君移步 Vivado安装 vivado是运行工程的工具,所以必须安装 后台回复[vivado2017]可获取vivado 2017.4 | 后台回复[vivado2020]可获取vitis ...

  4. Alink漫谈(十) :线性回归实现 之 数据预处理

    Alink漫谈(十) :线性回归实现 之 数据预处理 目录 Alink漫谈(十) :线性回归实现 之 数据预处理 0x00 摘要 0x01 概念 1.1 线性回归 1.2 优化模型 1.3 损失函数& ...

  5. 【python】Anaconda4 linux/windos安装

    一.什么是Anaconda 二.Win10 安装Anaconda 三.Linu 安装Anaconda ------------------------------------------------- ...

  6. www.215wd.com

    www.215wd.com 传奇销售系统 QQ:1479528000

  7. 机器学习实战基础(十二):sklearn中的数据预处理和特征工程(五) 数据预处理 Preprocessing & Impute 之 处理分类特征:处理连续性特征 二值化与分段

    处理连续性特征 二值化与分段 sklearn.preprocessing.Binarizer根据阈值将数据二值化(将特征值设置为0或1),用于处理连续型变量.大于阈值的值映射为1,而小于或等于阈值的值 ...

  8. Python之介绍、基本语法、流程控制

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  9. OSCP Learning Notes - File Transfers(2)

    Metasploit Target Server: Kioptrix Level 1 (1) Start the Metasploit on Kali Linux. (2) Set the modul ...

  10. spring-cloud-alibaba-sentinel和feign配合使用,启动报Caused by: java.lang.AbstractMethodError: com.alibaba.cloud.sentinel.feign.SentinelContractHolder.parseAndValidateMetadata(Ljava/lang/Class;)Ljava/util/List

    背景 我在学习spring-cloud-alibaba技术栈期间,在学习服务熔断与限流的时候,服务启动发生了以下异常 #这是控制台最上面的 sun.misc.Unsafe.park(Native Me ...