函数

========================================函数===============================================
test();
function test(){
alert('这是一个函数');
}
yy = alert('这是一个函数');
alert(test());
======================================return==============================================
text1();
function text1(){
return 'aaa'; // 返回一个东西
}
alert(text1());
======================================形参===============================================
text2();
function text2(a,b,c,d){ // num是形参
return a*b+c+d;
}
alert(text2());
alert(text2(2,8,4,10,22)); //不管函数里面有几个值 她只看形参有几个值
alert(window.text2(2,3,4));

text3();
function text3(num1=2,num2=4){
return num1+num2;
}
alert(text3()); // 默认值 num1=2,num2=4 ---->6
alert(text3(1,2)); //num1=2,num2=4 这俩是形参 后面赋值
实现默认参数的形式
function aa(x,y){
x=x||0;
y=y||0;
return x+y;
}
alert(aa(2,5));
alert(aa(5,2,8)); //行参控制着几个参数(x,y)俩个

===================================arguments对象======================================
function bb(x,y){
return arguments; //arguments 对象
alert(arguments[0]);
alert(arguments.length); //参数的个数
x=arguments[0]?arguments[0]:0; //arguments[0]参数的第一位
y=arguments[1]?arguments[1]:0; //arfuments[1]参数的第二位
return x+y;
}
bb();
alert(bb(2,4));
可变参数形式的函数
========参数和==========
function cc(){
var pp=arguments.length; //得到传入参数的个数
var sum=0;
for(var i=0; i<pp; i++){
sum+=arguments[i];
}
return sum;
 }
alert(cc(1,2,3,4,5,789));
=========参数最大值===========
function cc(){
var pp=arguments.length;
var max=0;
for(var i=0; i<pp; i++){
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
alert(cc(123456,2589,99999,1000000));

===========================变量作用域================================================
var x=1;
function bb(){
document.write('函数体内的x值为'+x+'<br/>'); //可以取到外边的值结果是(1) 可以取到函数里面 但是取不到值结果是(undefaned)
var x=3; //函数内部有var 值的话取内部的 但是取不到他的值 只能取到定义没有值
document.write('函数体内从新给他赋值'+x+'<br/>'); //结果是3
}
document.write('函数体外的x值是'+x+'<br>'); //结果是1
bb();
document.write('x的值是'+x);
全局变量:在函数体外声明的
局部变量:在函数体内声明的
函数体内没有用var声明变量的话他是全局变量

posted @ 2018-12-28 15:57  南酒!  阅读(93)  评论(0编辑  收藏  举报