概述
for 循环里面的break;和continue;语句
for(var i=1;i<=100;i++){
console.log(i);
if(i%5==0){
break;//找到了一个,就立即终止循环
}
}
//break只中断了最内层循环,外层循环还在jixu
for(var i = 1 ; i <= 10 ; i++){
for(var j = 1 ; j <= 10 ; j++){
console.log(i,j);
if(j == 5){
break;
}
}
}
continue 语句
for(var i=1;i<=100;i++){
if(i=5){
continue;//当i为5的时候,立即终止执行后面的console语句,i为6
}
console.log(i);
}
break 和 continue 的目的,就是优化算法
寻找质数的方法:
<script type='text/javascript'>
weiceng;
for(var i=2;i<=100;i++){
for(var j=2;j<=Math.sqrt(i);j++){
if(i%j ==0){
continue waiceng;
}
}
console.log(i);
}
</script>
do while语句
var i=1;
do{
console.log(i);
i++;
}while(i<=100)
while语句
var n =1;
while(n<=100){
console.log(n);
n++;
}
while(false){
console.log("哈哈");
}
for(){
}
do{
}while()
while(){
}
函数
function haha(){
console.log(1);
console.log(2);
console.log(3);
console.log(4);
}
haha();
function 函数名(){
}
函数的参数
function fun(a){
console.log("我第“+a+”次说我爱你”);
fun(88);
}
函数的返回值
funcion sum(a,b){
return a+b;
}
console.log(sum(3,8));
function yueshugeshu(a){
return count;
}
function iszheshu(m){
if(yushugeshu(m)==2{
return true;
}else{
return false;
}
}
递归
function fid(n){
if(n==1|| n ==2){
return 1;
}else{
return fib(n-1)+fi(n-2);
}
}
for(var i =1;i<=55;i++){
console.log(fib(i));
}
var haha = function(a,b){
return a+b;
}
console.log(haha(1,3));
var haha=function xixi(a,b){
return a+b;
}
function haha(){
}
function sum (a,b){
return a+b;
alert('哈哈,你永远看不见我,我在return后面“);
}
作用域
一个变量如果定义在了一个function里面,那么这个变量就是一个局部变量,只在这个function里面有定义。出了这个function,就如同没有定义过一样。
函数能封闭住定义域
<script type ="text/javascript">
function fn(){
var a=1;
console.log("我是函数里面的语句,我认识a值为“+a);
}
fn();
console.log("我是函数外面的语句,我不认识a"+a);
</script>
var a=1 全局变量
function fn(){
console.log();
}
fu();
console.log("函数外面的语句也认识a值为“+a");
● 定义在function里面的变量,叫做局部变量,只在function里面有定义,出了function没有定义的。
● 定义在全局范围内的,没写在任何function里面的,叫做全局变量,都认识。
作用域链
function outer(){
var a =1;
function inner(){
var b=2;
console.log(a);//1
console.log(b);//2
}
}
outer();
console.log(a);//报错 因为a的作用域outer
多层嵌套,如果有同名的变量,那么就会发生“遮蔽效应”:
var a =1;
function fn(){
var a=5;
console.log(a);//5
}
fn();
console.log(a);//1
作用域链:一个变量在使用的时候得几呢?就会在当前层去寻找它的定义,找不到,找上一层function,直到找到全局变量,如果全局也没有,就报错。
var a =1;
var b=2;
function out(){
var a =3;
function inner(){
var b=4;
console.log(a);//3
console.log(b);//4
}
inner();
console.log(a);//3
console.log(b);//2
}
out();
console.log(a);//1
console.log(b);//2
不写 var就自动成全局变量了
function fn(){
a =1;
}
fn();
console.log(a);
函数的参数 ,会默认定义为这个函数的局部变量
功能1:通信,共同操作同一个变量
两个函数同时操作同一个变量,一个增加,一个减少,函数和函数通信。
function fn( a,b,c,d){
}
全局变量的作用
var num =0;
functiong add(){
num++;
}
function remove(){
num--;
}
功能2:累加,重复调用函数的时候,不会重置
var num = 0;
function baoshu(){
num++;
console.log(num);
}
baoshu(); //1
baoshu(); //2
baoshu(); //3
function baoshu(){
var num =0;
console.log(num);
}
baoshu();//1
baoshu();//1
函数的定义也有作用域
function pingfanghe(a,b){
return pingfang(a) + pingfang(b);
function pingfang(m){
return Math.pow(m,2)
}
}
pingfang(4);//报错因为全局作用域下,没有一个函数教做pingfang的
最后
以上就是美好蚂蚁为你收集整理的JavaScript基础2的全部内容,希望文章能够帮你解决JavaScript基础2所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。