读书笔记《数据结构与算法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描述
本书看完,对常见的数据结构与算法从概念上有了更深入的理解. 书中关于数组.栈和队列.链表.字典.散列.集合.二叉树.图.排序.检索.动态规划.贪心算法都有详细的介绍.算是一本不错的学习书籍. 栈和队列 ...
- 【读书笔记】《编程珠玑》第一章之位向量&位图
此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...
随机推荐
- 别逃避,是时候来给JVM一记重锤了
今天是猿灯塔“365天原创计划”第2天. 今天讲: 为什么写这个主题呢? 之前看到不少同学在讨论, 今天呢火星哥抽出点时间来帮大家整理一下关于JVM的一些知识点 一.JVM是什 ...
- web单页应用是什么?它的好处与坏处有哪些(如何解决这些缺点)
web单页应用是什么? Web单页应用就是指只有一个Web页面作为入口的应用,在浏览器中运行期间不会重新加载页面.也就是说浏览器一开始会加载它必需的thml.css和Js,之后所有的交互操作都在一个页 ...
- 组合 a 标签与 canvas 实现图片资源的安全下载的方法与技巧
普通用户下载图片时只需一个「右键另存为」操作即可完成,但当我们做在线编辑器.整个 UI 都被自定义实现时,如何解决不同域问题并实现页面中图片资源的安全下载呢?本文就解决该问题过程中所涉及的正则表达式. ...
- P5676 [GZOI2017]小z玩游戏 Tarjan+优化建图
题目描述 分析 一开始看到这道题,首先想到的就是建好边后跑一个Tarjan缩点,将siz大于1的节点统计一下,输出结果 Tarjan非常显然易得,关键就是怎么建边 比较好想的一种思路就是枚举每一个兴奋 ...
- WPF手机号码归属批量查询并导出到Excel
工具下载地址:https://download.csdn.net/download/m0_37137902/12589801 1WPF页面xaml代码 <Window x:Class=" ...
- 基于html5拖拽api实现列表的拖拽排序
基于html5拖拽api实现列表的拖拽排序 html代码: <ul ondrop="drop_handler(event);" ondragover="dragov ...
- iview国际化问题(iview官方提供的兼容vue-i18n@6.x+使用组件报错)
问题描述: 按照iview官方的说法配置i18n发现在使用组件的时候会报错. 兼容 vue-i18n@6.x+的配置如下图 报错如下图 解决方法: 经过参考element-ui的国际化配置终于解决问题 ...
- java 数据结构(四):java常用类四 比较器以及其他类
比较器 1.Java比较器的使用背景: Java中的对象,正常情况下,只能进行比较:== 或 != .不能使用 > 或 < 的但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要 ...
- 通过hmail搭建一个内网测试的邮件服务器
我们测试的软件基本上都是支持邮件功能,如果你的测试环境是在外网的话那还好说,可以直接使用QQ邮箱.163邮箱等.但是如果是测试环境在内网,无法直接访问到外网的时候,搭建一个邮件服务器就很有必 ...
- JAVA 面向对象 三大特征:继承
什么是继承 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 多个类可以称为子类,单独这个类称为父类.超类或者基类. 子类可以直接访 ...