javaScript基础讲义第四天(1)
05-javaScript基础
核心知识点
- 数组
- 操作字符串方式
- 获取系统时间
- Math相关方法
今日目标
- 能够完成数组相关案例
- 能后获取系统时间
- 能够操作随机数
- 能够完成小娜案例**[最终的目标]**
数组
思考如果我们希望同时保存多条数据该怎么办?【例如:如何将班上所有学生姓名保存起来】
学习数组的意义?
☞ 数组: 可以一次保存多条数据, 数组也是一个用来保存数据的容器。
学习数组
创建数组
构造函数创建数组(了解)
var 自定义数组名称 = new Array();
字面量创建数组
var 自定义数组名称 = [] ;
数组赋值
创建数组并赋值
☞ 构造函数方式var ary = new Array (1,2,3,5,6);☞ 字面量方式赋值var ary = [1,2,3,4,6];
通过索引方式赋值
var ary = [];ary[0]=1;ary[1]=2;总结:1. 数组中索引值是从 0 开始的2. 通过索引的方式给数组赋值,要按照顺序个数设置3. 通过 数组名.length 可以获取到当前数组的长度
获取数组中的值
☞ 通过索引的方式获取数组中的值,数组的索引从0开始☞ 语法:数组名[索引号]例如:var ary = [1,2,3,4,5];ary[0];ary[1];
数组课堂案例
- 练习1:统计班级学生就业薪资,计算总薪资 和 平均薪资。- 练习2:统计班级学生就业薪资,计算薪资超过15000的人的个数。- 练习3:给一个不重复的数字数组,求最大值和最大值的在数组中的位置- 练习4:给一个字符串数组,将数组中的每一个数据拼接在一起,每个数据之间用 | 符合拼接。 如: ‘张三|李四|王五’- 练习5:给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中
冒泡排序[算法]
<script>var ary = [1, 2, 3, 4, 5];//将数组中的值按照降序排列: 从大到小//核心:// 1. 找相邻的两个值 ary[i] ary[i+1]// 2. 交换位置, 找一个中间变量// 步骤:// 1. 要明确比较多少趟(循环多少次 数组总长度 - 1)for(var i = 0 ; i < ary.length - 1; i++) {// 2. 在每一趟中,进行相邻的两个值比较大小(遍历数组)for(var j = 0; j < ary.length; j++) {//相邻的两个值if(ary[j] < ary[j+1]) {//交换位置var c = ary[j];ary[j] = ary[j+1];ary[j+1] = c;}}}console.log(ary);// 冒泡排序核心:// 1. 两两比较大小// 2. 交换位置// 升序: 如果后一个值小于前一个值,就交换位置// 降序: 如果后一个值大于前一个值,就交换位置// for(var i = 0; i < ary.length; i++) {// // ary[i] ary[i+1]// }</script>
操作字符串方式
- 分割字符串
split() // 以一个分割符,将一个字符串串分割成一个数组
- 课堂案例
1. https://www.test.com/login?uname=zs&&pwd=123; 获取用户名和密码
获取系统日期
- 获取系统时间
var 日期变量 = new Date()
- 获取日期其他部分
日期变量.getSeconds() //获取秒 日期变量.getMinutes() //获取分钟 日期变量.getHours() //获取小时 日期变量.getDay() //返回周几 (0表示周日) 日期变量.getDate() //返回当前月的第几天 日期变量.getMonth() //返回月份 (从0开始) 日期变量.getFullYear() //返回年份
- 课堂案例
1. 将当前系统时间以 yyyy-mm-dd HH:mm:ss 输出到控制台中。
// 获取当前系统时间的,年月日,时分秒var date = new Date();var year = date.getFullYear();rvar month = date.getMonth() + 1;var month = month >= 10 ? month: '0' + month;var r = date.getDate();var r = r >= 10 ? r: '0' + r;var day = date.getDay(); //星期var hour = date.getHours();var hour = hour >= 10 ? hour: '0' + hour;var minutes = date.getMinutes();var minutes = minutes >= 10 ? minutes: '0' + minutes;var ss = date.getSeconds();var ss = ss >= 10 ? ss: '0' + ss;console.log(year);console.log(month);console.log(r);console.log(day);console.log(hour);console.log(minutes);console.log(ss);console.log(date);
与数学相关的操作
- 获取随机数
Math.random()
- 对数字取整
1.Math.floor(x) 2.Math.ceil(x)
- 课堂案例
1. 求 1 到 10之间的随机整数【包括边界值】2. 求 20 到 50 之间的随机整数【包括边界值】3. 求m到n之间的随机整数(公式)Math.floor(Math.random()*(n-m+1)+m);备注:m 代表开始值n 代表结束的值
// var num = Math.random(); //随机数// var a = 3.2415926;// a = Math.floor(a); //返回的结果是一个小于或等于当前数字的最近的一个整数(向下取整)// a = Math.ceil(a); //返回的结果是一个大于或等于当前数字的最近的一个整数(向上取整)// 备注: 当该值就是一个整数的时候,就算他本身// console.log(a);// 产生一个随机整数:// 1.先获取随机数[0,1)// var num = Math.random();// num = Math.random() * 10;// num = Math.random() * 10 + 1;// num = Math.floor(Math.random() * 10 + 1);// console.log(num);//求20~50之间的数[包括边境值]// [0,1)*30 [0,30)+ 20 [20,50)// [0,1)*31 [0,31)+ 20 [20,51)// num = Math.floor(Math.random() * 31 + 20);// num = Math.floor(Math.random() * (50 -20 + 1) + 20);// console.log(num);//总结规律:求你m~n的随机数取值 最大值为n 最小值为m// num = Math.floor(Math.random() * ( n-m + 1) + m);// 1。随机产生一个索引值// var xh = [1,23,4,86,123,123,152]// num = Math.floor(Math.random() * ( 6 - 0 + 1) + 0);// console.log(xh[num]);
传智小娜案例
- 实现求和功能
- 实现获取当前系统日期功能
- 实现小娜讲笑话功能
函数function
为什么要学函数?
什么是函数
函数: 可以封装一段特定功能代码,然后通过函数名调用,实现对该段代码重复使用
函数的作用
实现代码的重复使用。 ✔ 对分散代码整合(封装) ✔ 重复使用
定义函数
function 方式定义函数
函数表达式方式定义函数
课堂练习
1. 将比较数字大小封装到一个函数中 2. 写一个函数,求1-100之间所有数的和 3. 通过函数方式实现:判断一个数字是基数还是偶数 4. 通过函数的方式实现: 在页面中打印一个10行直角三角形 5. 格式化日期的封装 yyyy-mm-dd hh:mm:ss
javaScript基础讲义第四天(1)相关推荐
- JavaScript基础练习题(四)
JavaScript基础练习题(四) 一.单选题 1.同步和异步执行分别表示什么含义 A 同步是按顺序依次执行:异步是同时分开一起执行 B 同步是同时分开一起执行:异步是按顺序依次执行 C 同步是按一 ...
- Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法
$() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) {return new jQuery.fn.init( selector ...
- JavaScript基础学习第四天
目标: 1. 通过循环的方式获取数组中的值,给数组赋值. 2. 能够理解为什么程序中要用数组 3. 能使用数组操作程序中的数据 ☞ 为什么要学习数组? 1. 什么是数组?: 依然是一个用来保存数据的一 ...
- Web前端开发精品课HTML CSS JavaScript基础教程第四章课后编程题答案
编程题 利用这一章学到的各种文本标签,把图4-25所示的网页效果做出来. 用VS2013新建ASP.NET空网站,添加新项,建立HTML文件,向其加入以下代码: <!DOCTYPE html&g ...
- Javascript基础与面向对象基础~第四讲 Javascript中的类对象
今天来说JS中如何实现类(class),事实上本应该昨天晚上写的,可我失言了,在些说一声"抱歉"!JS中的类是JS面向对象的基础,也是我最拿手的东西,你写的代码能否提高一个层次,一 ...
- 前端基础入门四(JavaScript基础)
为什么80%的码农都做不了架构师?>>> 目标: 掌握编程的基本思维 掌握编程的基本语法 我们先来学习JavaScript基础,后续会讲解JavaScript高级. 自己是个做 ...
- js一行四个 超过自动换行_干货!零基础学JavaScript要掌握的四个基本常识
零基础学JavaScript需要掌握哪几个基本常识点?下面西安鸥鹏为大家解答.了解和总结程序语言中常见的小常识,可以使编程变得容易,特别对于新手来说.JavaScript是一种弱类型客户端的编程语言, ...
- 一级计算机基础第四套,《计算机应用基础》第四套考试与答案.doc
<计算机应用基础>第四套考试与答案 -------------------------------- 作者: -------------------------------- 日期: &l ...
- JavaScript基础---语言基础(1)
写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...
最新文章
- 张玉萍:数据科学的“融”,是学术中的“锦上添花” | 优秀毕业生专访
- mycat是什么_MYCAT学习2
- mysql海量数据存储
- To 研究生,第一:做学位论文期间,不要有任何度假休息的打算;第二,导师错的时候不多;第三……...
- 熵、交叉熵、相对熵(KL 散度)意义及其关系
- 朴素贝叶斯算法_朴素贝叶斯算法原理
- netfilter/iptables
- 猜数字游戏的提示 (Master-Mind Hints, UVa 340)
- 三年云转型,近200%的高增速,神州数码做对了什么?
- 最新云开发王者荣耀战力查询微信小程序源码免费下载支持双系统双区,内置接口
- 团队建设之做好技术团队管理
- SLAM——之G2O函数库
- YOLOv5导出onnx、TrensorRT部署(LINUX)
- 读《追风筝的人》有感
- C Primer Plus 学习打卡之第二章(含课后编程答案)
- React官网核心概念模块知识点整理(一)
- 我写的破代码将被保存1000年?GitHub启动代码永久存储计划
- maven项目搭建步骤
- 微分代数几何基础(1)
- js全角半角空格记录
热门文章
- 数据结构-二叉树的遍历
- 机器学习笔试面试超详细总结(四)
- usb2.0/3.0/3.1/3.2/4 各版本速率
- 办理房贷前,名下信用卡必须全部还清吗?
- 很多程序员都在抱怨加班多,觉得该做的都做了,别人没做的,自己都做了。为什么?为什么别人能拿到几万的工资,自己只能拿到零头呢?
- VC,一条会被鼠标移动的直线
- 实现ftoa与itoa
- springboot jwt token前后端分离_为什么要 前后端分离 ?
- python抠透明图_python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
- 怎么画单极交流放大电路波形图_珠海放大IC怎么样