流程控制语句 函数 对象和数组

  • 流程控制语句
  • 函数
  • 对象和数组

流程控制语句

复习

if(5>4) alert('对');
if(){}else{}if(){}else if(){}else{}switch(a+b){case 值:语句;break; 跳出所有循环 防止穿透case 值:语句;break; default:语句;
}var box = 1;
if(box<=5){alert(box);box++;
}
for(var i=0;i<=9;i++){}

do while 循环 不管条件是否满足 先执行一遍循环体

do{}while();var box = 1;
do{alert(box); box++;
}while(box <=9);

while 先判断再循环

var box=1;
while (box<=9){console.log(box);box++;
}

for in 列出对象的属性有哪些 先了解

    var person = {'name':'zhangsan','age':18,'sex':'男'}for(var p in person){console.log(p);}输出 : name  age sex 

break continue 重点

for (var test=1;test<=10;test++) {if(test == 5) break;  跳出所有循环 document.write(test);document.write('<br />');
}
1
2
3
4for (var test=1;test<=10;test++) {if(test == 7) continue; 跳出本次循环  继续下面的循环  document.write(test);document.write('<br />');
}
输出 1 2 3 4 5 6 8 9 10

with 先了解

var person = {'name':'zhangsan','age':18,'sex':'男'talk:函数名()}/*alert(person.name);alert(person.age);alert(person.sex);var n = person.namevar a = person.agevar s = person.sexalert("姓名:"+n+"年龄"+a+"性别"+s);*/with(person){var n=name;  //不用person.属性名var a=age;var s=sex;}alert("姓名:"+n+"年龄"+a+"性别"+s);

函数

  • js 函数 声明
  • return 返回值
  • arguments 对象

函数声明

function 函数名字(){  #没有参数的函数alert('只有调用我才执行');
}function wenbiya(){alert("苦了农民百姓");
}wenbiya(); #直接调用function sum(num1,num2){  //形式参数alert(num1+num2);
}
sum(10,1000); //实际参数

函数return 返回值

function box(){return '我被返回';
}alert(box());function person(name,age){return '您的姓名:'+name+'您的年龄:'+age;
}console.log(person("空空",35));

特殊return 非常重要

function test(num){if(num < 5) return num; #如果num<5 直接返回return '扛把子';
}
alert(test(6));

arguments 对象

function test(){//在不知道你有多少参数的情况下 相求第三个参数和第五个参数的和 return arguments[2]+arguments[4];
}alert(test(10,20,30,40,50,60));//80alert(test(9,8,7,6,5,4,3,2,1));//12alert(test(9,8,700,6,500,4,3,2,1));//1200function test1(){return arguments.length; //获取参数的长度
}alert(test1(9,8));alert(test1(9,8,700,6));

?问题

不管你过来多少参数  我给你返回所有参数的和1.有参数
2.没有参数 直接返回0function sums(){var sum = 0;if(arguments.length == 0 ) return sum;//如果有参数  累加  for (var i=0;i<arguments.length;i++) {sum+=arguments[i];}return sum;
}
alert(sums());  //0
alert(sums(1,2,3,4,5,6,7,8,9,10)); //55

对象

  • object 类型

object 类型

var person = new Object(); //空对象    new 可以省略 但是新创建的对象 尽量保留  提高代码的易读性
person.name = '扣丁哥';
person.age = 18;alert(person.name);var person = {name:'扣丁哥',age:18,
}var person = {'name':'扣丁哥','age':18,
}var person = {};//空对象
person.name = '扣丁哥';
person.age = 18;输出属性的值
1.alert(person.name);
2.alert(person['age']);对象的方法  var box={
name:'扣丁哥',
age:18,
eat:function(){跟下面效果一样
}
function eat(){跟上面效果一样
}
}var box={name:'扣丁哥',age:18,eat:function(num1,num2){return num1+num2;}
}
alert(box.eat(5,6));删除属性 delete 对象名.属性名;
var box={name:'扣丁哥',age:18,eat:function(num1,num2){return num1+num2;}
}
delete box.age;
alert(box.name);
alert(box.age); //会提示undefined
alert(box.eat(5,6));

数组

var arr = [1,2,3,4,5];
console.log(typeof arr);var arr1 = new Array(1,2,3,4,5);
alert(arr1.length); //返回数组的长度   var arr2 = new Array(2); //声明一个包含10个元素的数组   数组长度是10
console.log(arr2.length); //10var arr3 = new Array(1,'abc',[1,2],true,null,box = {name:'zhangsan'});
console.log(arr3.length); //6 任何数据类型 包括数组在内都可以当成数组的元素  字面量的形式 var box = []; //创建一个空数组
var box = [1,2,'a',null,true]; //包含元素的数组var box = [1,2,]; //ie浏览器会认为 三个元素   w3c浏览器 认为2个
console.log(box.length);
var box =[,,,]; ie w3c浏览器识别不一样    不要这么写   console.log(box[4]); //获取下标为4的元素  第五个
arr3[3] = false; //修改下表为3的元素 console.log(test[test.length-1]); //获取最后一个元素
test[test.length] = '云迪'; //添加元素到数组的末尾 

数组最多有4294967295 个元素 超出抛异常

var test = [{name:'zhangsan',age:18,talk:function(){return '大吉大利,今晚吃鸡';}},[1,'a',null,true],'张三',12+13
];

系统提供的数组方法

join 将数组拼接成字符串

var box = ['他强任他强','老子','尼克杨'];
alert(box.join(''));//将数组 拼接成字符串
alert(box.join('@'));
alert(box.join('|'));   

栈方法 先进后出 杯子 电梯 操作的是数组的结尾

push()
pop()var box = ['a','b','c','d','e'];
console.log(box.push('f'));//输出新数组的长度
console.log(box);//输出所有的元素
console.log(box.pop());//弹出数组的最后一个元素 f
console.log(box.pop());//e
console.log(box.pop()); //d

队列方法 先进先出 操作的是数组的开头

unshift()
shift()console.log(box);
console.log(box.unshift('f','g')); //返回 插入元素之后数组的新长度
console.log(box); console.log(box.shift()); //弹出数组的第一个元素

排序方法

  • sort() 既可以排序数字 也可以排序字母
  • reverse()
var box = [1,4,2,3,5];
console.log(box.sort());
var box = [1,14,32,23,5];
console.log(box.sort()); //排序不准确   需要自己写函数 干预以下
var box1 = ['e','f','b','a','c'];
console.log(box1.sort());function compare(num1,num2){if(num1 < num2){return -1; //小于返回负数 表示 位置不动 还是num1 在num2前面}else {return 1; //调换位置  返回正数}
}
var box = [1,14,2,23,5];
console.log(box.sort(compare));//compare 当作参数传递给  sort   reverse 反转倒叙的意思
console.log(box.reverse()); 

两个方法 新数组 不会对原来的数组产生一样 会呈现给用户一个新的数组

  • concat
  • slice

concat

var box = ['a',1,'b',5];
var box1 = box.concat('计算机');
console.log(box1); //输出a 1 b 5 计算机
console.log(box);//输出a 1 b 5 原来数组 没有发生变化  

slice

var box = ['a',1,'b',5];
var box1 = box.slice(1,3);
//1,b
//从下标为1的元素开始截取 直到截取到下标为3 包括第一个不包括第三个[1,3)
var box1 = box.slice(1);//从下标为1的元素开始  截取到末尾  包括下标为1的
var box1 = box.slice(0);//从下标为0的元素开始截取 直到结尾
console.log(box1);
console.log(box);

综上:

复制数组有以下方法:

​ push()

​ slice()

splice()

var box = ['a',1,'b',5];
var box1 = box.splice(1,3);
//从下标为1开始截取3个
console.log(box1); //1,'b',5   对原来的数组产生影响
console.log(box);//avar box1 = box.splice(1,0,'科学','技术');
//从下标为1开始截取0个 然后再第一个位置插入 科学  技术
console.log(box1);//因为截取了0个 所以box1 为空
console.log(box);//"a,科学,技术,1,b,5"var box1 = box.splice(1,2,'科学','技术');
//从下标为1开始截取2个 然后再第一个位置插入 科学  技术
console.log(box1);//因为截取了2个 box1 的值就是 1,b
console.log(box);//"a,科学,技术,5"//splice 替换功能
var box1 = box.splice(1,1,666);
console.log(box1);//1
console.log(box);//a,666,b,5

时间和日期

js 提供的一些组件方法

  1. 首先获取时间对象
  2. 调用方法
var timed = new Date();
console.log(timed.toDateString());//Mon Aug 20 2018
console.log(timed.toTimeString());//15:52:41 GMT+0800 (中国标准时间)
console.log(timed.toLocaleDateString());//2018年8月20日
console.log(timed.toLocaleTimeString());//下午3:53:32var timed = new Date();/*console.log(timed.toDateString());//Mon Aug 20 2018console.log(timed.toTimeString());//15:52:41 GMT+0800 (中国标准时间)console.log(timed.toLocaleDateString());//2018年8月20日console.log(timed.toLocaleTimeString());//下午3:53:32*/console.log(timed.getTime());//1534751668024 获取日期的毫秒数console.log(timed.setTime(1534751668024));//以毫秒数设置日期 可能会改变整个日期console.log(timed.getTime());console.log(timed.getFullYear());//2018console.log(timed.setFullYear(2020));//2018console.log(timed.getFullYear());console.log(timed.getMonth());//月份从0开始返回7 代表 8月console.log(timed.setMonth(11));//设置年份console.log(timed.toLocaleDateString())console.log(timed.getDate());//20号 console.log(timed.setDate(25)); //返回的是毫秒数console.log(timed.getDay());//星期几console.log(timed.setDay());报错console.log(timed.getHours());console.log(timed.setHours(16));console.log(timed.getHours());console.log(timed.getMinutes());console.log(timed.setMinutes(6));console.log(timed.getMinutes());console.log(timed.getSeconds());console.log(timed.setSeconds(37));

正则表达式 用来验证用户输入的内容是否符合你定的规范

  • 登陆注册 表单验证 防止用户输入

创建正则表达式

  1. new RegExp(“规则”,参数)
var test1 = new RegExp("kangbazi",'igm'); //创建规则
var contents = prompt("请输入你的昵称");//用户输入的内容
//test()方法用来检测用户输入的是否符合规则
//规则.test(内容);
if(test1.test(contents)){alert("欢迎光临");
}else{alert("谢绝入内");
}
  1. /规则/参数
    var box = /kangbazi/ig;var contents = prompt("请输入你的昵称");alert(box.test(contents));alert(box.exec(contents));
参数 含义
i 忽略大小写 KANGBAzi 跟 kangbazi 效果一样
g 全局匹配
m 多行匹配

检测的方法

方法 说明
test() 返回true或false
exec() 返回匹配的结果 如果匹配到返回匹配到的结果 否则 返回 null
var test1 = new RegExp('kangbazi','i'); //创建规则
var contents = prompt("请输入你的昵称");
//alert(test1.test(contents));
alert(test1.exec(contents));

流程控制语句 函数 对象和数组相关推荐

  1. 【JS基础-1】JavaScript语言简单介绍(语法、变量、数组、流程控制语句、函数、对象和事件)

    目录 1 JS概述 2 在HTML中引入JS代码 2.1 内部引用 2.2 外部引用 2.3 功能演示:修改标签内容 2.3.1 内部引用 2.3.2 外部引用 3 JS变量 3.1 变量名的命名规则 ...

  2. javascript基本语法(输入输出语句,变量常量,数据类型,运算符,流程控制语句,数组,函数)

    javascript javascript介绍 JavaScript 是一种客户端脚本语言.运行在客户端浏览器中,每一个浏览器都具备解析 JavaScript 的引擎. 脚本语言:不需要编译,就可以被 ...

  3. 01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)

    1. Java语言主要由5中符号组成 标识符:数字.字母.美元符.下划线(注意不能数字开头) 关键字(被Java赋予特殊意义的单词,注意所有关键字都是小写):   goto和const保留了它们,但是 ...

  4. 前端学习笔记之流程控制语句和数组(六)

    流程控制语句 if语句的基本使用 if语句是最简单的条件语句,也称选择语句.它通常结合else一起使用,表示如果--就--否则--. if (测试条件) {// 语句块1// 当测试条件为真,则执行这 ...

  5. 6-JS流程控制语句与数组

    一.流程控制语句 1.if语句的基本使用 1.if语句是最简单的条件语句,也称选择语句.它通常结合else一起使用,表示如果-就-否则- if语句举例1: 用户输入一个数字,如果这个数字是偶数,则弹出 ...

  6. Java语言程序设计 上机实验2 掌握Java的基本语言成分和流程控制语句。 掌握Java中数组的使用,理解引用数据类型。 掌握String类的使用。...

      Java语言程序设计 上机实验2 实验目的: 掌握Java的基本语言成分和流程控制语句. 掌握Java中数组的使用,理解引用数据类型. 掌握String类的使用. 实验内容: 注:标(*)为选做内 ...

  7. MySQL自定义函数的使用及MySQL中的流程控制语句

    MySQL自定义函数 文章目录 MySQL自定义函数 创建自定义函数 自定义函数的调用 自定义函数的删除 自定义函数的维护 流程控制语句 条件控制语句 循环语句 创建自定义函数 创建自定义函数时, 开 ...

  8. asp自定义函数可以返回数组或者对象

    asp自定义函数可以返回数组或者对象 例子: function GetAuditorInfoBySeqNo(filenostr,strSeqNo)   Dim auditorInfo(3)   sql ...

  9. 数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数

    目录 一.流程控制语句 (一)BEGIN...END语句块 (二)条件语句 (三)循环语句 1.WHILE语句 2.BREAK语句和CONTINUE语句 (四)无条件转移语句 (五)返回语句 (六)等 ...

  10. 流程控制语句break continu return 及方法(函数)

    流程控制语句break continu return 及方法(函数) (1)控制跳转语句 1:控制跳转语句的分类 break 中断 continue 继续 return 返回 2:break的使用场景 ...

最新文章

  1. OpenCV与gcc和CMake一起使用
  2. 面向对象设计原则之2-开放闭合原则
  3. MOSS2007服务器端的安装与基本配置
  4. 【力扣】NO.13.罗马数字转整数
  5. php编写一个学生类_PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
  6. Coursera, Big Data 3, Integration and Processing (week 1/2/3)
  7. 京东架构专家分享京东架构之路
  8. java 数据库容灾_mysql 容灾备份
  9. linux svn cleanup 用法,svn操作-clean up死循环
  10. (转)人工智能公司Kensho是如何改变华尔街的?
  11. Android 锁屏功能
  12. CF687 D2 C. Bouncing Ball(DP)
  13. Vue3.0的新特性(8)Suspense
  14. bzoj1127 [POI2008]KUP
  15. linux 怎么撤销移动命令,Linux的常用命令
  16. omnet、sumo、veins环境搭建笔记
  17. socket的延时技巧
  18. 将一个word文档按页数拆分为多个文档
  19. Linux MISC驱动示例
  20. ADC触摸屏编程测试笔记_韦东山老师

热门文章

  1. 信息系统项目管理师考试经验和心得
  2. 20220529 使用python分割pdf文件
  3. 小心!新媒体环境下,营销传播还有几个大坑!
  4. 领域驱动设计DDD:贫血模型和充血模型(比较重要)
  5. 算法是如何体现价值的
  6. C# 根据出生日期解析 对应星座
  7. 计算机组成原理SRop,【9A文】计算机组成原理历年真题.docx
  8. 特殊字符存入mysql_数据库中特殊字符的存取
  9. html embed高度自适应,腾讯优酷视频分享iframe,embed高度多种比例控制
  10. 论文阅读七:面向软件定义网络的负载均衡智能路由策略