前端-JavaScript2-1——JavaScript基础复习及上次作业答案

时间:2021-08-02 05:00:49

昨天讲解的JS是编程最最简单的一些基础知识,复习一下:

JavaScript书写环境,<script>标签

1    <script type=”text/javascript”>

2    </script>

alert()函数,至于什么是函数,先别管。alert弹出警告框

1    alert("你好");

控制台F12,console就是用来检测程序有没有错误的

1    console.log("你好");

我们已经知道了两种常见错误,

SyntaxError 语法错误  :比如符号是中文的

ReferenceError 引用错误   : 比如变量没有声明

数字的直接量:数字、NaN、Infinity

数字这个东西,有很多进制。

下面的值都是15:

1    15

2    017

3    0o17

4    0O17

5    0xf

6    0Xf

下面的值都是0.04

1    0.04

2    4e-2

3    0.4e-1

4    .4e-1

6/0 结果是Infinity , 0/0结果是NaN

字符串的直接量:双引号、单引号

1    "字符串"

2    "45454"

3    ""

变量: 变量的命名开头必须是字母、美元符号、下划线,后续的可以有字母、美元符号、下划线、数字;换句话说,不能以数字开头。不能有怪异符号,不能是保留字和关键字。

变量的定义,或者叫做变量的声明,用var

1    var a = 100;

var一次之后,就可以不用var了。

用逗号隔开多个:

1    var a = 100 , b = 200;

JS中变量声明可以提升,也就是说,可以先使用变量,然后再声明

1    a = 100;

2    var a;

一个变量如果仅仅var了,但是没有赋值,默认的值是

1    undefiend

变量的类型,实际上就是所有值的类型

基本的类型5种:

number类型    : 数字、NaN、Infinity

string类型    : 字符串

undefined类型 :  只有一个值,就是undefined

null类型      : 只有一个值,就是null

boolean类型   : 只有两个值true和false

引用类型:

我们日后再说

用typeof能够检测值的类型。

parseInt、parseFloat

parseInt是无条件的截断小数点后面的任何东西,不四舍五入。

1    parseInt(3.9888);   // 3

2    parseInt("3年3月");  //3

3    parseInt("哈哈3年3月");  //NaN

parseInt可以将任何一个进制的数字转为10进制,要记住数字不能直接用字面量,要加字符串

1    parseInt("0xf",16);  //15

2    parseInt(0xf,16);    //21

parseFloat就是获取小数点的,将string变为浮点数

1    parseFloat("3.14.123")   //3.14

parseFloat没有进制,就不能写逗号。

数学运算符

+ - * / %

% 叫做求余,也有的书上求模

1    100 % 10   //0

2    15 % 5     //0

1    3454325435 % 3

的计算结果只能是0、1、2。 不能是3、4、5、6……

运算顺序是先选乘性(*/%)的,然后是加性(+-)的。

1    2 + 5634 * 5 % 5 / 2

解:原式 =  2 + 28170 % 5 / 2

=  2 + 0 / 2

=  2

作业

1)计算下列算式,并将结果输出:

1    console.log((123 + 45 * 78) / (34 + 543) - 9 * (324 - 34));

2)表示气温有两种方法:摄氏度和华氏度。两者的关系是:

编写程序,让用户输入摄氏度,弹出对应的华氏温度。

1        <script type="text/javascript">

2           //第一步,让用户输入数字

3           var sheshidu = parseFloat(prompt("请输入摄氏温度"));

4           //第二步,计算

5           var huashidu = 9 / 5 * sheshidu + 32;

6           //第三部,显示

7           alert("你好,华氏度是" + huashidu + "\n给钱!");

8        </script>

3) 用JS计算下列算式,并将结果在弹出:

这道题目就是用来练习嵌套的,

1    Math.pow((23 + Math.pow(5,7))/45,2);

4) 编写程序,提示用户输入六边形的边长,然后弹出它的面积,计算六边形面积的公式是:

2        <script type="text/javascript">

1           //第一步,让用户输入边长

2           var a = parseFloat(prompt("请输入六边形的边长"));

3           //第二步,计算

4           var s = 3 * Math.sqrt(3) / 2 * Math.pow(a,2);

5           //第三步,显示

6           alert("面积是" + s);

7        </script>

5)
如果今天是星期二,那么1000天后是星期几?用户输入一个天数,计算这个天数后是星期几。

如果今天是星期2,那么7天后是也是星期2,14天后也是星期2。

今天1天后是星期3,那么8天后也是星期3,15天后也是星期3。

所以49天后,是星期2。因为49 % 7 结果是0

所以79天后,是星期4。 因为79 % 7 结果是2,相当于2天后

所以,1000天后的星期就要看简化为相当于几天后?

1000 % 7 结果是6, 所以就相当于6天后的星期。

6天后就是星期1。

综合算式就是: (2 +
1000 % 7) % 7

如果用户输入天数,那么就是

1   
(2 + a % 7) % 7

6)
用户输入一个三位数,弹出各个数位的和。

比如:

用户输入155,就弹出11

用户输入316,就弹出10

用户输入989,就弹出26

用户输入678,就弹出21

这里就有一个“算法”的概念,“算法”就是人想出来的让机器解决事情的方法。

前不久有一个机器alphaGo能打败李世乭,实际上就是算法为王,算法非常好。

机器能干的事情就是计算、流程控制。

用户输入数字简单,但是拆分数字需要我们的智慧了。

比如用户输入316,如何单独得到各个数位???

个位简单, 就是 316 % 10  得到6

百位也简单,就是parseInt(316
/ 100) 得到3

十位比较复杂,
parseInt(316 / 10) % 10  得到1