流程控制语句 函数 对象和数组
流程控制语句 函数 对象和数组
- 流程控制语句
- 函数
- 对象和数组
流程控制语句
复习
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 提供的一些组件方法
- 首先获取时间对象
- 调用方法
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));
正则表达式 用来验证用户输入的内容是否符合你定的规范
- 登陆注册 表单验证 防止用户输入
创建正则表达式
- new RegExp(“规则”,参数)
var test1 = new RegExp("kangbazi",'igm'); //创建规则
var contents = prompt("请输入你的昵称");//用户输入的内容
//test()方法用来检测用户输入的是否符合规则
//规则.test(内容);
if(test1.test(contents)){alert("欢迎光临");
}else{alert("谢绝入内");
}
- /规则/参数
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));
流程控制语句 函数 对象和数组相关推荐
- 【JS基础-1】JavaScript语言简单介绍(语法、变量、数组、流程控制语句、函数、对象和事件)
目录 1 JS概述 2 在HTML中引入JS代码 2.1 内部引用 2.2 外部引用 2.3 功能演示:修改标签内容 2.3.1 内部引用 2.3.2 外部引用 3 JS变量 3.1 变量名的命名规则 ...
- javascript基本语法(输入输出语句,变量常量,数据类型,运算符,流程控制语句,数组,函数)
javascript javascript介绍 JavaScript 是一种客户端脚本语言.运行在客户端浏览器中,每一个浏览器都具备解析 JavaScript 的引擎. 脚本语言:不需要编译,就可以被 ...
- 01_Java语言基础部分(数据类型与表达式、流程控制语句、数组与方法)
1. Java语言主要由5中符号组成 标识符:数字.字母.美元符.下划线(注意不能数字开头) 关键字(被Java赋予特殊意义的单词,注意所有关键字都是小写): goto和const保留了它们,但是 ...
- 前端学习笔记之流程控制语句和数组(六)
流程控制语句 if语句的基本使用 if语句是最简单的条件语句,也称选择语句.它通常结合else一起使用,表示如果--就--否则--. if (测试条件) {// 语句块1// 当测试条件为真,则执行这 ...
- 6-JS流程控制语句与数组
一.流程控制语句 1.if语句的基本使用 1.if语句是最简单的条件语句,也称选择语句.它通常结合else一起使用,表示如果-就-否则- if语句举例1: 用户输入一个数字,如果这个数字是偶数,则弹出 ...
- Java语言程序设计 上机实验2 掌握Java的基本语言成分和流程控制语句。 掌握Java中数组的使用,理解引用数据类型。 掌握String类的使用。...
Java语言程序设计 上机实验2 实验目的: 掌握Java的基本语言成分和流程控制语句. 掌握Java中数组的使用,理解引用数据类型. 掌握String类的使用. 实验内容: 注:标(*)为选做内 ...
- MySQL自定义函数的使用及MySQL中的流程控制语句
MySQL自定义函数 文章目录 MySQL自定义函数 创建自定义函数 自定义函数的调用 自定义函数的删除 自定义函数的维护 流程控制语句 条件控制语句 循环语句 创建自定义函数 创建自定义函数时, 开 ...
- asp自定义函数可以返回数组或者对象
asp自定义函数可以返回数组或者对象 例子: function GetAuditorInfoBySeqNo(filenostr,strSeqNo) Dim auditorInfo(3) sql ...
- 数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数
目录 一.流程控制语句 (一)BEGIN...END语句块 (二)条件语句 (三)循环语句 1.WHILE语句 2.BREAK语句和CONTINUE语句 (四)无条件转移语句 (五)返回语句 (六)等 ...
- 流程控制语句break continu return 及方法(函数)
流程控制语句break continu return 及方法(函数) (1)控制跳转语句 1:控制跳转语句的分类 break 中断 continue 继续 return 返回 2:break的使用场景 ...
最新文章
- OpenCV与gcc和CMake一起使用
- 面向对象设计原则之2-开放闭合原则
- MOSS2007服务器端的安装与基本配置
- 【力扣】NO.13.罗马数字转整数
- php编写一个学生类_PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
- Coursera, Big Data 3, Integration and Processing (week 1/2/3)
- 京东架构专家分享京东架构之路
- java 数据库容灾_mysql 容灾备份
- linux svn cleanup 用法,svn操作-clean up死循环
- (转)人工智能公司Kensho是如何改变华尔街的?
- Android 锁屏功能
- CF687 D2 C. Bouncing Ball(DP)
- Vue3.0的新特性(8)Suspense
- bzoj1127 [POI2008]KUP
- linux 怎么撤销移动命令,Linux的常用命令
- omnet、sumo、veins环境搭建笔记
- socket的延时技巧
- 将一个word文档按页数拆分为多个文档
- Linux MISC驱动示例
- ADC触摸屏编程测试笔记_韦东山老师