javascript数据结构和算法 第一章(编程体验)一

声明和初始化变量

Javascript变量默认是全局作用域的.严格来说,使用之前是不需要定义的.

当一个javascript变量在没有被声明之前直接进行初始化,它就是一个全局变量.在这本书中,我们沿用编译语言如c++和java的编程约定.在使用变量之前都进行声明.

这还有一个附带的好处,声明的变量可以作为本地变量.

我们将会在本章节的后面讨论更多关于变量的作用域.

声明javascript变量,使用关键字var 变量名称.可选择的,可以带上赋值表达式.

下面是一些例子

var number;

var name;

var rate = 1.2;

var getting = “hello world”

var flag = false;

Javascript的算术和数学函数库

Javascript使用标准的数学操作符

+ 加法

- 减法

* 乘法

/ 除法

% 取模运算

Javascript同样有一个数学函数库,你可以使用它来进行高级函数的编写 例如开方,绝对值,三角运算.算术操作符沿用标准的优先级顺序.

当然括号“()”可以用来修改这些优先级顺序.

例子1-1 几个关于算术运算的例子,同时包括了使用几个数学函数库里的函数.

var x = 3;

var y = 1.1;

print(x+y);

print(x*y);

print((x+y)*(x-y))

var z = 9;

print(Math.sqrt(z));

print(Math.abs(y/x));

如果你不想或者不需要上面显示的精度,你可以格式化数字到一个固定的精度.

var x = 3;

var y = 1.1;

var z = x*y;

print(z.toFixed(2));

判断表达式

判断表达式通过使用布尔表达式来判断到底执行哪个表达式语句.

在这本书中我们使用的两个判断表达式是if表达式和switch表达式.

if表达式 有三种形式:

简单的if

if-else 表达式

if-else if表达式

例子1-2 如何编写判断表达式.

var mid = 25;

var high = 50;

var low = 1;

var current = 13;

var found = -1;

if(current < mid){

mid = (current-low)/2;

}

例子1-3演示if-else 表达式

var mid = 25;

var high = 50;

var low = 1;

var current = 13;

var found = -1;

if(current < mid){

mid = (current-low)/2;

}else{

mid = (current + high ) /2;

}

例子1-4 演示if-else if 表达式

var mid = 25;

var high = 50;

var low = 1;

var current = 13;

var found = -1;

if(current < mid){

mid = (current-low)/2;

}else if{

mid = (current + high ) /2;

}else{

found = current;

}

在这本书中另一个判断结构就是switch 表达式.

当你有好多个简单的判断时,这个表达式能提供了一个更加清晰,更加结构化的语句.

例子1-5 演示如何使用switch判断语句.

putstr("Enter a month number: ");

var monthNum = readline();

var monthName;

switch (monthNum) {

case "1":

monthName = "January";

break;

case "2":

monthName = "February";

break;

case "3":

monthName = "March";

break;

case "4":

monthName = "April";

break;

case "5":

monthName = "May";

break;

case "6":

monthName = "June";

break;

case "7":

monthName = "July";

break;

case "8":

monthName = "August";

break;

case "9":

monthName = "September";

break;

case "10":

monthName = "October";

break;

case "11":

monthName = "November";

break;

case "12":

monthName = "December";

break;

default:

print("Bad input");

}

这是解决这个问题最高效的方法吗?不是,但是它很好的演示了switch判断语句是如何工作的.

javascript的switch判断语句 和其他编程语言主要区别就是被判断的表达式可以是任何类型的数据, 不像C++和java那样需要完整的数据类型.

事实上,你会发现在之前的例子中,我们将月份的值当做字符串类型,而不是将它们转化为数字类型.这是因为我们可以在javascript中使用switch语句来比较字符串.

javascript数据结构和算法 第一章(编程体验)一

时间: 2024-08-08 15:26:48

javascript数据结构和算法 第一章(编程体验)一的相关文章

javascript数据结构和算法 第一章(编程体验)三

变量作用域 变量作用域就是指在一个程序中,变量的值在哪里可以被获取到.javascript函数作用域被定义为函数作用域,这意味着变量的值在定义和声明该变量的函数,包括任何在该函数的嵌套函数里是可见的. 当一个变量定义在函数的外面,在主程序中,该变量将会拥有全局作用域.这就意味着它的值可以被程序的任何地方,包括函数获取. 下面的小程序演示全局变量时如何工作的. function showScope() { return scope; } var scope = "global"; pri

javascript数据结构和算法 第一章(Javascript编程环境和模型) 一

这一章介绍了我们在这本书中使用的描述各种数据结构和算法的Javascript的编程环境和编程架构. Javascript 环境 Javascript 在很长一段时间都是被作为web浏览器内置脚本编程语言来使用. 然而,在过去几年里,javascript编程环境得到了极大的发展,他们可以使javascript在桌面或者服务端运行. 在我们这本书中,我们使用其中的一个javascript环境:javascript shell:是Mozilla公司的javascript环境,被称为SpiderMonk

重读《学习JavaScript数据结构与算法-第三版》-第2章 ES和TS

定场诗 八月中秋白露,路上行人凄凉: 小桥流水桂花香,日夜千思万想. 心中不得宁静,清早览罢文章, 十年寒苦在书房,方显才高志广. 前言 洛伊安妮·格罗纳女士所著的<学习JavaScript数据结构与算法>第三版于2019年的5月份再次刊印发行,新版内容契合当下,实为JavaScript开发人员的必备之佳作.有幸重读此版,与诸君分享共勉. 内容提要 此章节为第2章-ECMAScript与TypeScript概述,主要介绍了JS和TS的相关概念,以及在JS新版本中的新特性:let.解构.箭头函数

重读《学习JavaScript数据结构与算法-第三版》- 第3章 数组(一)

定场诗 大将生来胆气豪,腰横秋水雁翎刀. 风吹鼍鼓山河动,电闪旌旗日月高. 天上麒麟原有种,穴中蝼蚁岂能逃. 太平待诏归来日,朕与先生解战袍. 此处应该有掌声... 前言 读<学习JavaScript数据结构与算法>- 第3章 数组,本节将为各位小伙伴分享数组的相关知识:概念.创建方式.常见方法以及ES6数组的新功能. 数组 数组是最简单的内存数据结构,用于存储一系列同一种数据类型的值. 注:虽然数组支持存储不同类型的值,但建议遵守最佳实践. 一.数组基础 创建和初始化数组 new Array

重读《学习JavaScript数据结构与算法-第三版》- 第6章 链表(一)

定场诗 伤情最是晚凉天,憔悴厮人不堪言: 邀酒摧肠三杯醉.寻香惊梦五更寒. 钗头凤斜卿有泪,荼蘼花了我无缘: 小楼寂寞新雨月.也难如钩也难圆. 前言 本章为重读<学习JavaScript数据结构与算法>的系列文章,该章节主要讲述数据结构-链表,以及实现链表的过程和原理. 链表 链表,为什么要有这种数据结构呢?当然,事出必有因! 数组-最常用.最方便的数据结构,But,当我们从数组的起点或中间插入或移动项的成本很高,因为我们需要移动数组元素. 链表,是存储有序的元素集合.链表中的元素在内存中并不

javascript数据结构和算法 一(本书组织结构)

环境 我们在本书中使用的Javascript编程环境是基于SpiderMonkey 引擎的javascript shell. 第一章讲述了在你的环境中下载 shell的介绍. 其他的shell例如Nodejs同样可以工作,虽然你可能需要简单的改变下代码. 除了shell,唯一你要准备的就是文本编辑器. 本书的组织结构 第一章:javascript语言的概览,至少是在本书中使用的javascript的一些特征.这一章同时展示了在整本书中使用的一些编程风格. 第二章:讨论了在计算机科学中最通用的数据

JavaScript学习指南之第一章Hello JavaScript!最基础的JavaScript入门

JavaScript学习指南笔记 第一章 Hello JavaScript! JavaScript简介 JavaScript属于网络端的脚本语言. JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. 能够与网页进行完美的集成.. 目前在因特网领域,也是比较流行的一种脚本语言. JavaScript是一种轻量级的编程语言. JavaScript是可插入HTML页面的编程代码. JavaScript插入HTML页面后,可有所有的浏览器所执行

《大道至简》第一章——编程的精义_读后感(Java伪代码形式)

<大道至简>第一章——编程的精义_读后感(Java伪代码形式)1.愚公移山//愚公为团体的项目组织者.团体经理.编程人员.技术分析师等//子孙荷担者三人为三名技术人员//遗男为外协//目标为“毕力平险,指通豫南,达于汉阴”public class Ygys; //定义一个名为Ygys的类{String 人员;public static void main(String[] args)//定义主程序{人员初始化人员= new String();while(山没平){if(人员死){人员 = 愚公

算法入门《数据结构与算法图解》+《我的第一本算法书》+《学习JavaScript数据结构与算法第3版》

最近几年学前端的人会越来越多,再加上前端的范围越来越广,从前端发展为全栈,数据结构和算法的功底要求势必将越来越高. <数据结构与算法图解>电子书及代码是数据结构与算法的入门指南,不局限于某种特定语言,略过复杂的数学公式,用通俗易懂的方式针对编程初学者介绍数据结构与算法的基本概念,培养编程逻辑.主要内容包括:为什么要了解数据结构与算法,大O表示法及其代码优化利用,栈.队列等的合理使用,等等. <算法图解>电子书非常的体贴,看起来也很快,用图来解释算法是非常好的想法,可作为学习数据结构