学完了JavaScript基础部分,总结出一些基本案例,以备日后查看!

1、九九乘法口诀表:在控制台中输出九九乘法口诀表!代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>乘法口诀表</title>
</head>
<body>
<script>
for (var i =1; i<=9; i++) {  //i控制行
for (var j =1,str="";j<=i; j++) {  //j控制列
str +=j+"x"+i+"="+i*j+" ";
}
console.log(str);
}
</script>
</body>
</html>

2、水仙花数:所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身!代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>水仙花数</title>
</head>
<body>
<script>
for(var i=100; i<1000; i++) {
var hundreds = parseInt(i/100);  //定义百位数变量,并赋值
var decade = parseInt(i/10%10);  //定义十位数变量,并赋值
var unit = (i%10);  //定义个位数变量,并赋值
var sum = Math.pow(hundreds,3)+Math.pow(decade,3)+Math.pow(unit,3);  //定义三位数各个数位的立方和赋值给一个新变量
if (sum==i) {  //如果i的值等于变量sum的值,那么这个数就是水仙花数
console.log(i);  //在控制台中打印该数
}
}
</script>
</body>
</html>

3、轮播图片:利用数组知识,实现简单的轮播效果!代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>轮播图片</title>
</head>
<body>
<div style="margin-top:200px;margin-left:350px">
<button id="pre" style="position:relative;top:-135px;">上一张</button>
<div id="picture" style="width:400px;height:267px;display:inline-block;"> </div>
<button id="next" style="position:relative;top:-135px;">下一张</button>
</div>
<script>
var imgs=['11.jpg','22.jpg','33.jpg','44.jpg','55.jpg'];  //创建数组存放五张图片
str="<img src="+imgs[4]+">";
picture.innerHTML=str;  //将数组中的五张图片获取到页面中
pre.onclick=function() {  //单击上一张按钮时触发的事件
console.log(imgs);
var img=imgs.splice(4,1);  //删除
imgs.splice(0,0,String(img));  //添加
console.log(imgs);  //打印
str="<img src="+imgs[0]+">";
picture.innerHTML=str;  //获取
}
next.onclick=function() {  //单击下一张按钮时触发的事件
var img=imgs.splice(0,1);
imgs.splice(4,0,String(img));
str="<img src="+imgs[4]+">";
picture.innerHTML=str;
}
</script>
</body>
</html>

4、字符串拼接:给周一到周五每个字符串前拼接 "星期",周六周末替换:“今天休息”!代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>遍历</title>
</head>
<body>
<script>
var week=['日','一','二','三','四','五','六'];
//给周一到周五每个字符串前拼接 "星期",周六周末替换:“今天休息”
for(var i=0;i<week.length;i++) { // 通过遍历查找数组中i
if (week[i]=='六'||week[i]=='日') { //如果数组中i取值为六或日
week[i]='今天休息'; //那么今天时休息日
}else {
week[i]="星期"+week[i]; //否则显示日期星期几
}
}
</script>
</body>
</html>
//

5、遍历:输出数组中最大和最小的数,并将原数组从小到大排序!代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var nums=[16,6,45,71,92,25,89,57,23];  //创建一个数组
//遍历,输出数组中最大和最小的数!
for (var i=1,min=max=nums[0];i<nums.length;i++) {
//遍历数,创建临时变量max保存最大的值和最小的值并初始化为0号元素
if (nums[i]>max) {
//如果遍历到的当前元素大于max,就将当前元素的值赋值给max
max=nums[i];
}else if (nums[i]<min) {
//否则如果当前元素小于min,就将当前元素赋值给min
min=nums[i]
}
}
console.log("nums中最大的数是"+max+"\n最小的数是"+min); //将原数组排序:从小到大
for (var j=nums.length-1;j>0;j--) {  //循环遍历数组
for (var i=0;i<j;i++) {
if (nums[i]>nums[i+1]) {  //如果前一个数大于后面的数,按位取反
var temp=nums[i];
nums[i]=nums[i+1];
nums[i+1]=temp;
}
}
}
console.log(nums);   //打印出排序后的数组
</script>
</body>
</html>

6、字符串与Unicode编码互转:将以代码中的字符串信息中的每个字符转为对应的unicode编码,再拼接为一个codes!并将获取到的codes编码解码为原信息!代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>trans</title>
</head>
<body>
<script>
var msg="3306,不见不散!";
//将以上信息,每个字符转为对应的unicode码,再拼接为一个codes
//遍历字符串,将每次遍历到的字符msg[i],
for(var i=0,codes="";i<msg.length;i++){
//将当前msg[i]转为unicode拼接到codes,
codes+=msg.charCodeAt(i)+100000;//将每个字符的unicode编码转为6位数
}
//输出拼接的codes
console.log(codes);
//发送 //将获取到的codes编码解码为原信息
//循环遍历codes,每6位选取一次
for (var i=0,nmsg="";i<codes.length; i+=6) {
nmsg+=String.fromCharCode(codes.substr(i,6).slice(1));
}
console.log(nmsg);
</script>
</body>
</html>

7、sort排序:手写sort方法,并定义其比较器函数(作为参数传递给sort使用)!代码如下:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<script>
// 将数组[3, 3, 5, 6, "A", "a"] 从小到大排序
function sort(arr,comp){
for(var j=arr.length-1;j>0;j--){
for(var i=0;i<j;i++){
if(comp){
if(comp(arr[i],arr[i+1])>0){
var temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}else if(isNaN(arr[i])&&String(arr[i])>String(arr[i+1])){
var temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
else{
if(String(arr[i])>String(arr[i+1])){
var temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
}
}
}
var arr = [6,3,"a",3,5,"A"];
function c1(a,b){return b-a};
sort(arr);
console.log(arr);// 正确排序结果[3, 3, 5, 6, "A", "a"]
</script>
</body>
</html>

8、验证正则:验证是否符合正则:6-12位 的字母数字下划线组合!代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<script>
//请用户输入一个用户名
var uname=prompt("用户名");
//验证是否符合正则:6-12位 的字母数字下划线组合
var reg=/^\w{6,12}$/;
//如果验证通过,提示ok
if (reg.test(uname)) {
alert("ok");
}else {
alert("error:格式错误");
}
//否则:error,格式不正确
</script>
</body>
</html>

9、分支结构:利用if  elseif语句判断不同的结果执行对于的操作!代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>if</title>
</head>
<body>
//根据考试成绩获得相应的奖惩
<script>
var score=prompt("请输入您的成绩");
score=parseInt(score);
//方法1:标准格式
if(70>score&&score>=60){
alert("自行车");
}else if(80>score&&score>=70){
alert("小刀电动车");
}else if(90>score&&score>=80){
alert("BYD");
}else if(100>score&&score>=90){
alert("BWM");
}else if(score==100){
alert("=B=");
}else if(score>100){
alert("出国");
}
else {
alert("跪键盘");
}
//方法2:三目运算法则
alert((70>score&&score>=60)?"自行车":(80>score&&score>=70)?"小刀电动车":(90>score&&score>=80)?"BYD":(100>score&&score>=90)?"BWM":(score==100)?"=B=":(score>100)?"出国":"跪键盘");
</script>
</body>
</html>

10、验证码:从大写字母,小写字母,数字中随机选取4个字符,拼接为一个验证码!让用户输入一个验证码并验证!

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>验证码</title>
</head>
<body>
<script>
//封装函数getcode;
function getCode() {
//从大写字母,小写字母,数字中随机选取4个字符,拼接为一个验证码
//生成一个0-n的随机数var r=parseInt(Math.random()*(n+1))
//将所有备选字符压入一个数组
//创建一个空数组chars,用于保存备选的字符
var chars=[];
//循环0-9数字的Unicode编码转换为对于字符,并压入chars
for (var i=48;i<=57;i++) {
chars.push(String.fromCharCode(i))
}
//循环将A-Z字母的Unicode编码转换为对应字符,并压入chars
for (var i=65;i<=90;i++) {
chars.push(String.fromCharCode(i))
}
//循环将a-z字母的Unicode编码转换为对应字符,并压入chars
for (var i=97;i<=122;i++) {
chars.push(String.fromCharCode(i))
}
//循环从chars中取出4个随机字符,将其拼接在字符串code中
for (var i=0,code="";i<4;i++) {
//生成随机数r
var r=parseInt(Math.random()*62)
//从chars中取出r的字符,拼接到code
code+=chars[r];
}
return code;
}
//循环
do{
var code=getCode();
var n=prompt("请输入验证码"+code+"输入exit退出");
//如果输入正确(注意大小写)
if (n.toLowerCase()==code.toLowerCase()) {
//提示验证通过,并退出循环
alert("验证通过");
break;
//否则,如果用户输入exit,也可以退出
}else if (n.toLowerCase()=="exit") {
//提示放弃登录
alert("放弃登录");
break;
//否则,提示验证失败,重新输入
}else {
//重新输入时需要更换新的验证码
alert("验证失败,请重新输入");
}
//否则循环一直执行
}
while(1)
</script>
</body>
</html>

以上就是JavaScript最基础的案例,花费了不少的时间整理的,正所谓时间就是金钱,满满的都是财富!不能是金钱所能衡量的!!!

完结!

javascript基础案例解析的更多相关文章

  1. [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析

    [WebKit内核] JavaScript引擎深度解析--基础篇(一)字节码生成及语法树的构建详情分析 标签: webkit内核JavaScriptCore 2015-03-26 23:26 2285 ...

  2. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】

    一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...

  3. JavaScript基础:DOM操作详解

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 前言 JavaScript的组成 JavaScript基础分为三个部分: ...

  4. JavaScript基础三

    1.10 关于DOM的事件操作 1.10.1 JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数. ...

  5. 2、JavaScript 基础二 (从零学习JavaScript)

     11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...

  6. 第五模块·WEB开发基础-第2章JavaScript基础

    第1章 JavaScript基础 01-JavaScript历史介绍 02-JavaScript的组成 03-JavaScript的引入方式 04-变量的使用 05-基本数据类型(一) 06-基本数据 ...

  7. javascript基础入门知识点整理

    学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: media JavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔 ...

  8. JavaScript基础入门10

    目录 JavaScript 基础入门10 正则表达式 为什么使用正则表达式? 正则表达式的应用场景 如何创建一个正则表达式 基础语法 具有特殊意义的转义字符 量词 字符类 贪婪模式 练习 邮箱验证 中 ...

  9. JavaScript基础入门06

    目录 JavaScript 基础入门06 Math 对象 Math对象的静态属性 Math对象的静态方法 指定范围的随机数 返回随机字符 三角函数 Date对象 基础知识 日期对象具体API 构造函数 ...

随机推荐

  1. Oracle Goldengate是如何保证数据有序和确保数据不丢失的?

    工作中一直在用Oracle 的中间件Oracle GondenGate 是如何保证消息的有序和不丢失呢? Oracle GoldenGate逻辑架构 首先,先看一下Oracle GoldenGate ...

  2. ConnectionPool实现redis在python中的连接

    这篇文章主要介绍了Python与Redis的连接教程,Redis是一个高性能的基于内存的数据库,需要的朋友可以参考下   今天在写zabbix storm job监控脚本的时候用到了python的re ...

  3. find文件删除

    find /root/title/test -type f -name '*.txt' -exec rm {} \;   查找并删除test文件夹下所有txt文件 find /root/title/t ...

  4. VB非常见知识总结

    1.VB.Net设置Excel中单元格字体 sheet.Range(sheet.Cells(row, stp), sheet.Cells(row, stp)).Font.Name = "Wi ...

  5. 干货分享:ASP.NET CORE(C#)与Spring Boot MVC(JAVA)异曲同工的编程方式总结

    目录 C# VS JAVA 基础语法类比篇: 一.匿名类 二.类型初始化 三.委托(方法引用) 四.Lambda表达式 五.泛型 六.自动释放 七.重写(override) ASP.NET CORE ...

  6. 【Aizu - 0121】Seven Puzzle (反向bfs)

    -->Seven Puzzle 原文是日语 这里就直接写中文了  Descriptions: 7拼图由8个正方形的卡和这些卡片完全收纳的框构成.每张卡都编号为0, 1, 2, …, 7,以便相互 ...

  7. C# Linq 笛卡尔积

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. Spring Cloud Alibaba | Sentinel: 分布式系统的流量防卫兵初探

    目录 Spring Cloud Alibaba | Sentinel: 分布式系统的流量防卫兵初探 1. Sentinel 是什么? 2. Sentinel 的特征: 3. Sentinel 的开源生 ...

  9. xfs 文件系统修复

    pvcreate /dev/sdb1 pvcreate /dev/sdc1 pvcreate /dev/sdd1 vgcreate vg_bricks /dev/sdb1 vgcreate vg_br ...

  10. SSM 框架集成

    1.SSM是什么? SSM是指目前最主流的项目架构的三大框架: SpringMVC : spring的 Web层框架,是spring的一个模块 Spring :容器框架 MyBatis :持久层框架 ...