前端-JavaScript2-1——JavaScript基础复习及上次作业答案
昨天讲解的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 |
6)
用户输入一个三位数,弹出各个数位的和。
比如:
用户输入155,就弹出11
用户输入316,就弹出10
用户输入989,就弹出26
用户输入678,就弹出21
这里就有一个“算法”的概念,“算法”就是人想出来的让机器解决事情的方法。
前不久有一个机器alphaGo能打败李世乭,实际上就是算法为王,算法非常好。
机器能干的事情就是计算、流程控制。
用户输入数字简单,但是拆分数字需要我们的智慧了。
比如用户输入316,如何单独得到各个数位???
个位简单, 就是 316 % 10 得到6
百位也简单,就是parseInt(316
/ 100) 得到3
十位比较复杂,
parseInt(316 / 10) % 10 得到1
前端-JavaScript2-1——JavaScript基础复习及上次作业答案的更多相关文章
- C#基础第七天-作业答案-利用面向对象的思想去实现名片-动态添加
class Card { private string name; public string Name { get { return name; } set { name = value; } } ...
- C#基础第五天-作业答案-用DataTable制作名片集
.DataTable 实现 DataTable PersonCard = new DataTable(); //创建一个DataTable DataTable PersonCardCopy = new ...
- C#基础第四天-作业答案-Hashtable-list<KeyValuePair>泛型实现名片
.Hashtable 实现 Hashtable table = new Hashtable(); while (true) { Console.WriteLine("------------ ...
- C#基础第三天-作业答案-集合-冒泡排序-模拟名片
.冒泡排序 Console.WriteLine("对集合里的数进行排序,请输入第一个数:"); int a = int.Parse(Console.ReadLine()); Con ...
- 前端学习 之 JavaScript基础
一. JavaScript简介 1. JavaScript的历史背景介绍 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时 ...
- 前端开发之JavaScript基础篇一
主要内容: 1.JavaScript介绍 2.JavaScript的引入方法和输出及注释 3.javaScript变量和命名规则 4.五种基本数据类型 5.运算符 6.字符串处理 7.数据类型转换 ...
- web前端篇:JavaScript基础篇(易懂小白上手快)-2
目录 一.内容回顾: ECMAScript基础语法 1.基本数据类型和引用数据类型 2.条件判断和循环 3.赋值运算符,逻辑运算符 4.字符串的常用方法 5.数组的常用方法 6.对象 7.函数 8.日 ...
- web前端篇:JavaScript基础篇(易懂小白上手快)-1
目录 详细内容: 0.JavaScript的引入 1.第一个JavaScript 2.变量 3.变量的类型 4.数组 5.条件语句 6.三元运算符 7.循环 8.函数 9.对象(object): 10 ...
- 【前端】之JavaScript基础知识
JS 基础知识 JS中,简单类型的数据存储在栈中,复杂类型的数据存储在堆中,其引用存储在栈中 JS中的深拷贝和浅拷贝: 浅拷贝:将对象中的所有简单类型的属性拷贝出来,引用类型属性直接赋值null 深拷 ...
随机推荐
- ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一)
前言: 第一次接触ABP的项目是在2018年6月份,但是当时没有深入具体的研究,而今天因为工作的需要,需要学习.了解这个框架,在时隔半年之后,今天重新下载了这个项目,虽然在园子里有很多前辈们写的这类的 ...
- RNA-seq 数据文件处理
http://www.fungenomics.com/article/30 [专题]基因组学技术专题(二)-- 为什么说FPKM/RPKM是错的 下载数据 wget是linux下一个从网络上自动下载文 ...
- sql业务分割
create Function StrToTable(@str varchar(1000)) Returns @tableName Table ( str2table varchar(50) ) As ...
- linux 中 nginx配置
1.nginx中include的使用 在/usr/local/nginx/conf/nginx.conf中可以使用include去加载其他配置文件: 例如:include vhost/*.conf; ...
- css尺寸(大小)属性
尺寸属性:用来控制元素大小的属性,单位为长度单位. 尺寸属性的使用场景 当使用相对长度单位定义尺寸时,元素的大小跟随窗口大小变化. 为保证元素的正常显示,需要设定元素的最大.最小长度. 手机端开发时需 ...
- JDK源码看ArrayList和Vector的一些区别
最近在看JDK源码,从源码的角度记录一下ArrayList和Vector的一些区别 1.new a.不指定长度 Vector默认创建10个元素的数组 public Vector() { this(10 ...
- rsa公钥和私钥的生成
在liunx环境中 openssl 然后生成私钥: genrsa -out app_private_key.pem 2048 # 私钥的生成 在利用私钥生成公钥: rsa -in app_privat ...
- vm12pro 安装winxp过程 记录1(涵个人问题)
1.百度的xp资源 选好iso文件后出现如下情景: 2.百度以后是要在一开始的首次界面就选择从哪个盘开始 3.选择了“Windowgs PE”选项…加载出界面后选择了ghost xp…现在…黑屏了…… ...
- java-jdk动态代理生成的代理类源码
import com.zkn.newlearn.gof.proxyhandler.PersonInter; import java.lang.reflect.InvocationHandler; im ...
- laravel session使用 转自http://blog.csdn.net/angle_hearts/article/details/53923782
use Symfony\Component\HttpFoundation\Session\Session;//存储session $session = new Session;$session-> ...