读书笔记《数据结构与算法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描述
本书看完,对常见的数据结构与算法从概念上有了更深入的理解. 书中关于数组.栈和队列.链表.字典.散列.集合.二叉树.图.排序.检索.动态规划.贪心算法都有详细的介绍.算是一本不错的学习书籍. 栈和队列 ...
- 【读书笔记】《编程珠玑》第一章之位向量&位图
此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...
随机推荐
- WordPress教程之如何批量删除未引用(无用)的TAG标签
WordPress文章与标签的关系 在WordPress中添加标签是非常方便的,只需要在写文章时在侧栏标签处添加一下就会自动在后台增加标签(所以你是不是也跟缙哥哥一样每篇文章都增加标签呢),不像分类目 ...
- web前端工程化/构建自动化
前端工程化 前端工程化的概念在近些年来逐渐成为主流构建大型web应用不可或缺的一部分,在此我通过以下这三方面总结一下自己的理解. 为什么需要前端工程化. 前端工程化的演化. 怎么实现前端工程化. 为什 ...
- Xenon's Attack on the Gangs,题解
题目: 题意: 有一个n个节点的树,边权为0-n-2,定义mex(a,b)表示除了ab路径上的自然数以外的最小的自然数,求如何分配边权使得所有的mex(a,b)之和最大. 分析: 看似有点乱,我们先不 ...
- 读CSAPP第二章的收获
一:一道很有意思的位运算题目:你只有两种操作 bis(x, y): 在y为1的每个位置上,将x的对应的位设为1bic(x, y): 在y为1的每个位置上,将x的对应的位设为0 简单的化简一下bis(x ...
- django开发自动化测试平台简介
Django的优点 1:功能完善.要素齐全:自带大量常用工具和框架(比如分页,auth,权限管理), 适合快速开发企业级网站. 2:完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完 ...
- Howdoo 纳入华为生态系统
原文链接:https://howdoo.io/howdoo-and-huawei-appgallery/ 重点摘要: 我们是华为设备的忠实粉丝,因此我们非常高兴地宣布,我们一直在积极讨论如何开发 Ho ...
- Pandas基础知识图谱
所有内容整理自<利用Python进行数据分析>,使用MindMaster Pro 7.3制作,emmx格式,源文件已经上传Github,需要的同学转左上角自行下载或者右击保存图片.该图谱只 ...
- 记一次线上服务CPU 100%的处理过程
告警 正在开会,突然钉钉告警声响个不停,同时市场人员反馈客户在投诉系统登不进了,报504错误.查看钉钉上的告警信息,几台业务服务器节点全部报CPU超过告警阈值,达100%. 赶紧从会上下来,SSH登录 ...
- djangorestframework学习1-通过HyperlinkedModelSerializer,ModelViewSet,routers编写第一个接口
前提首先安装了django,安装方式:pip install django 1. djangorestftamework安装: pip install djangorestframework 2. 创 ...
- Mysql基础(九):MySQL 事务
一.含义事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行二.特点(ACID)A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行C 一致性:一个事务可以使数据 ...