1.break
有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。
这是我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。
2.continue
continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。
可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。
break和continue用于循环语句中,不能用于函数中
3、return
1)返回数据
a、返回一个数值
function fn1(n,m){
return n+m;
}
b、返回一个布尔值
function fn2(num){
return num>5;
}
//返回表达式,就是返回表达式的结果,结果就一定是布尔值。
2、返回对象
a)工厂模式,函数中有一个var定义了一个对象,并且将这个对象返回出来(传递给外面),每次创建都将是一个新的对象
function fn3() {
var div=document.createElement(“div”);
div.style.width=“50px”;
div.style.height=“50px”;
div.style.backgroundColor=“red”;
return div;
}
b)var obj={
// 设置初始值
_instance:null,
createDiv:function () {
if(!this._instance){
this._instance=document.createElement(“div”);
}
return this._instance;
}
};
c)通过参数传入对象
这里没有必要return;
function fn4(obj) {
obj.a=5;
return obj;
}
与工厂模式相同
function fn5(obj) {
var obj1=Object.assign({},obj);
obj1.a=3;
return obj1;
}
d)参数是函数
1、返回其它函数的运行结果
function fn6(fn) {
return fn(3,5);
}
function fn7(a,b) {
return a+b;
}
function fn8(a,b) {
return a*b;
}
var s=fn6(fn7);
var s1=fn6(fn8);
console.log(s,s1);
2、返回一个私密的对象
自执行函数中返回一个私密的对象,这个对象中的私有变量外部不可以获取
var fn9=(function () {
var num=5;
return {
a:1,
c:function () {
}
}
});
3、返回多个元素
返回多个无序的数据的内容,不许要指定该数值是干什么,有什么用
function fn10() {
var x=3;
var y=4;
var z=5;
return [x,y,z];
}
4、返回对象
这里指定了要返回数据每一个值对应的关键词,就可以按需取出对应的关键词设置
function fn11() {
var width="100px";
var height="100px";
var color="red";
return {width:width,height:height,backgroundColor:color};
}
5、返回函数体
也就是常说的闭包
function fn12() {
return function () {
}
}
fn12()();
e)return还表示跳出
if(a){
if(b){
if©{
if(d){
if(e){
}
}
}
}
}*/
2、截断跳出
function fn13() {
if(!a)return;
…
if(!b)return;
…
if(!c)return;
…
if(!d)return;
…
if(!e)return;
…
}
再每个举例几个简单的案例和写法
break用于完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。 break不仅可以结束其所在的循环,还可结束其外层循环。此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环。Java中的标签就是一个紧跟着英文冒号(:)的标识符。且它必须放在循环语句之前才有作用。
public class BreakTest2
{
public static void main(String[] args){
// 外层循环,outer作为标识符
outer:
for (int i = 0 ; i < 5 ; i++ ){
// 内层循环
for (int j = 0; j < 3 ; j++ ){
System.out.println(“i的值为:” + i + " j的值为:" + j);
if (j == 1){
// 跳出outer标签所标识的循环。
break outer;
}
}
}
}
}
continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环。而break则是完全中止循环。
public class ContinueTest
{
public static void main(String[] args){
// 一个简单的for循环
for (int i = 0; i < 3 ; i++ ){
System.out.println(“i的值是” + i);
if (i == 1){
// 忽略本次循环的剩下语句
continue;
}
System.out.println(“continue后的输出语句”);
}
}
}
eturn关键字并不是专门用于跳出循环的,return的功能是结束一个方法。 一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。
public class ReturnTest
{
public static void main(String[] args){
// 一个简单的for循环
for (int i = 0; i < 3 ; i++ ){
System.out.println(“i的值是” + i);
if (i == 1){
return;
}
System.out.println(“return后的输出语句”);
}
}
}