读书笔记《数据结构与算法JavaScript描述》第一章
第一章JavaScript的编程环境和模型
1.2JavaScript编程实践
1.2.1 声明和初始化变量
JavaScript中的变量默认为全局变量,如果初始化未被声明的变量,该变量就成了一个全局变量。
javascript中使用关键字var声明初始化变量。 var 变量名; var 变量名=初始化值;
例如:
- var name;
- var number=10;
- var text="Hellow World";
- var bool=false;
1.2.2 Javascript中的算是运算符和数学库函数
JavaScrip算是运算符:(可用括号改变运算顺序)
+ 加
- 减
* 乘
/ 除
% 取余
JavaScript同有一个数学库,提供了一些方法来实现某些运算:
- console.log(Math.abs(-3)); //取绝对值
- console.log(Math.round(2.345)); // 四舍五入
- console.log(Math.ceil(2.345)); // 向上舍入
- console.log(Math.floor(2.345)); //向下舍入
- console.log(Math.max(4,5)); //取最大值
- console.log(Math.min(4,5)); //取最小值
- console.log(Math.sqrt(9)); //取平方根
- console.log(Math.random()); //0-1之间的随机数
- 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
- var number=15;
- if(number>10){
- number-=10;
- }
if-else
- var number=15;
- if(num>10){
- number-=10;
- }else{
- number+=10;
- }
if-else if
- var number=15;
- if(num>10){
- number-=10;
- }else if(num>0){
- number+=10;
- }
(2)switch语句
switch语句判断的表达式可以为任意类型,无论是整型、字符型等等 都可以。
- var number=1;
- var week;
- switch(number){
- case 0:week="星期日"; break;
- case 1:week="星期一"; break;
- case 2:week="星期二"; break;
- case 3:week="星期三"; break;
- case 4:week="星期四"; break;
- case 5:week="星期五"; break;
- case 6:week="星期六"; break;
- default: console.log("number");
- }
1.2.4 循环结构
while循环
- var number=1;
- var sum=0;
- while(number<=10){
- sum+=number;
- number++;
- }
- console.log(sum); //打印55
do{ }while()
- var number=1;
- var sum=0;
- do{
- sum+=number;
- number++;
- }while(number<=10);
- console.log(sum); //打印55
for 循环
- var number=1;
- var sum=0;
- for(number;number<=10;number++){
- sum+=number;
- }
- console.log(sum); //打印55
//以上所求皆为1-10的累加和
for循环可以用于遍历
- var arr=[1,2,3,4,5,6,7,8,9,10];
- var sum=0;
- for(var i=0;i<arr.length;i++){
- sum+=arr[i];
- }
- console.log(sum); //打印55
1.2.5 函数
JavaScript两种函数定义方式
有返回值的函数
无返回值的函数 (又名 子程 或 void 函数)
(1)有返回值的函数
- function getSum(number){
- var sum=0;
- for(var i=1;i<=number;i++){
- sum+=i;
- }
- return sum;
- }
- console.log( getSum(5) ); //打印15
- console.log( getSum(10) ); //打印55
(2)无返回值的函数
执行该函数并不是为了得到返回值,而是要 执行这个函数中的语句操作
- function change(arr,number){
- for(var i=0;i<arr.length;i++){
- arr[i]+=number;
- }
- }
- var arr=[4,5,6,7,8,9];
- change(arr,10);
- console.log(arr); //打印[14,15,16,17,18,19]
--
读书笔记《数据结构与算法JavaScript描述》第一章的更多相关文章
- 数据结构与算法 java描述 第一章 算法及其复杂度
目录 数据结构与算法 java描述 笔记 第一章 算法及其复杂度 算法的定义 算法性能的分析与评价 问题规模.运行时间及时间复杂度 渐进复杂度 大 O 记号 大Ω记号 Θ记号 空间复杂度 算法复杂度及 ...
- 《数据结构与算法JavaScript描述》
<数据结构与算法JavaScript描述> 基本信息 作者: (美)Michael McMillan 译者: 王群锋 杜欢 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9 ...
- 翻阅《数据结构与算法javascript描述》--数组篇
导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性 ...
- 数据结构与算法javascript描述
<数据结构与算法javascript描述>--数组篇 导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScri ...
- 列表的实现-----数据结构与算法JavaScript描述 第三章
实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...
- 《数据结构与算法JavaScript描述》中的一处错误
最近在看<数据结构与算法JavaScript描述>这本书,看到选择排序这部分时,发现一个比较大的错误. 原书的选择排序算法是这样的: function selectionSort() { ...
- 数据结构与算法 Javascript描述
数据结构与算法系列主要记录<数据结构与算法 Javascript描述>学习心得
- 读后感:数据结构与算法JavaScript描述
本书看完,对常见的数据结构与算法从概念上有了更深入的理解. 书中关于数组.栈和队列.链表.字典.散列.集合.二叉树.图.排序.检索.动态规划.贪心算法都有详细的介绍.算是一本不错的学习书籍. 栈和队列 ...
- 【读书笔记】《编程珠玑》第一章之位向量&位图
此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...
随机推荐
- UVA1464 Traffic Real Time Query System
传送门:https://www.luogu.com.cn/problem/UVA1464 看到这道题,求必经的点数,还是无向图.那么妥妥的圆方树.圆方树上的任意两圆点间的路径必定是圆点方点相交错的,对 ...
- unity vscode 断点问题
困扰了很久的vscode老莫名其妙的断到网络通信那里. 后来发现是因为起来了一个线程并且调用的unity API 导致. unity 线程中是禁止调用unity API 的. 删掉用 DateTime ...
- 蜂鸟E203系列——Linux开发工具
欲观原文,请君移步 Vivado安装 vivado是运行工程的工具,所以必须安装 后台回复[vivado2017]可获取vivado 2017.4 | 后台回复[vivado2020]可获取vitis ...
- Alink漫谈(十) :线性回归实现 之 数据预处理
Alink漫谈(十) :线性回归实现 之 数据预处理 目录 Alink漫谈(十) :线性回归实现 之 数据预处理 0x00 摘要 0x01 概念 1.1 线性回归 1.2 优化模型 1.3 损失函数& ...
- 【python】Anaconda4 linux/windos安装
一.什么是Anaconda 二.Win10 安装Anaconda 三.Linu 安装Anaconda ------------------------------------------------- ...
- www.215wd.com
www.215wd.com 传奇销售系统 QQ:1479528000
- 机器学习实战基础(十二):sklearn中的数据预处理和特征工程(五) 数据预处理 Preprocessing & Impute 之 处理分类特征:处理连续性特征 二值化与分段
处理连续性特征 二值化与分段 sklearn.preprocessing.Binarizer根据阈值将数据二值化(将特征值设置为0或1),用于处理连续型变量.大于阈值的值映射为1,而小于或等于阈值的值 ...
- Python之介绍、基本语法、流程控制
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- OSCP Learning Notes - File Transfers(2)
Metasploit Target Server: Kioptrix Level 1 (1) Start the Metasploit on Kali Linux. (2) Set the modul ...
- 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 ...