您的位置:首页 > Web前端 > JavaScript

JavaScript基础知识(3)

2016-12-07 11:35 253 查看
JavaScript中的函数(即java中方法但和oc的叫法相同)

1函数的定义:

(1).

function  method(变量1,变量2){

//方法体

if(变量1>10){

return 变量1;

}else{

return 变量2;

}

};

(2).

var a=function(x){

if(x>10){

return 100;

}else{

return 1000;

}

};

使用这种方式使用的方法不需要方法名。

与java或者oc的不同,当方法被调用时,传入的参数可以比方法本身需要的参数多,如上面定义的方法,method(A,B),在调用时可以method(A,B,C);

2.arguments(方法中传入参数的统计:以为JavaScript中就算方法在定义时没有参数需要传入,但是也可以传入参数,所以使用arguments对传入的参数进行操作,arguments是一个表示参数的集合.当然,因为传入的参数是可变的,所以可以根据传入参数的不同来进行不同的业务逻辑处理)

例子:

function method(){

if(arguments.length===0){

return 0;

}else{

return arguments[0];

}

}

method();//返回0

method(1);//返回1

3.rest(由于方法可以传入多个参数,所以出现arguments,但是arguments表示了传过来的所有参数,如果该方法本身就有几个必须参数,为了获取其他非必须参数,则需要遍历,所以引入rest,用来表示除必须参数外的其他参数)

例子:

function method(a,b,...rest){

}

method(1,2);//rest 为空

method(1,2,3);//rest=[3];

2.window的概念

JavaScript默认有一个全局对象window,任意一个方法都可以使用method(a,b)或者window.method(a,b)来调用。

任意一个变量,如果在当前作用域没有找到,就会继续往上找直到window,所以对于不同的JavaScript文件,他们的如果使用了重名的全局变量,虽然在不同的文件中,但是他们对应的全局还是window对象,这样会使程序出现错误,所以,对于每个JavaScript文件,需要手动指定一个全局(MyJs),在这个文件里面的所有参数和方法使用MyJs.name='A'、MyJs.method=function(){

return 'A';

};等这种方式来定义;

3.变量的作用域(let申明变量)

一个java的例子:

for(int i=0;i<10;i++){

i=100;//在这里i是可以被操作的

}

i=100;//出了{}i就不能被操作了

但是,JavaScript

function method(){

var sum=0;

for(var i=0;i<10;i++){

i=100;//i可以被操作,没问题

}

i=100;//i还能别操作,有问题

}

因为JavaScript中方法中的变量的作用域是整个方法内部,但是有时候需要避免上面例子的情况,引入let申明变量。

使用let申明后的例子:

function method(){

for(let i=0;i<10;I++){

i=100;//没问题,可以操作

}

i=100;//报错了,不能操作了

}

4.常量(const关键字)

使用这个关键字声明的变量,其数值无法被改变
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: