Js 函数
一:什么是函数
复用性特别强
二:函数声明
格式:function 函数名称(){}
*******************不会立即执行**********************
三:函数调用
格式:函数名称()
四:函数参数
格式: function 函数名称(形参1 ,形参2 ,形参3 ,...){ }
函数名称(实参1 ,实参2 , 实参3 , ... );
形参:虚的 、形容的一个东西
实参:实实在在存在,是一个真实的东西
******************
参数是用逗号(,)分隔开的,并且形参和实参都是对应的关系
五、函数对象:
arguments
理解:只看实参的一个对象
return ====》返回
返回是输出,但是没有任何的效果 可以在调用函数的时候用alert document.write console.log
六、匿名函数
格式:
function(){}
****************以上格式在js中会报错,原因本身格式有问题,没办法调用
七、函数表达式
格式:var 名称 = function(){}
调用: 名称();
******************补充
调用函数的时候,加上(), 如果不加() 表示打印整个函数
函数声明和函数表达式
1》 函数声明是不看调用函数顺序的
2》 函数表达式必须要看执行顺序 ,从上到下
八 、匿名函数自我执行
不用调用自己执行函数体
格式:(function(形参){
函数体
})(实参)
九.函数执行环境
如果在函数体内定义局部变量,在全局打印不出来
如果在函数体内定义全局变量,在全局可以打印出来
//function 函数名称(){}
/*function demo(){ //函数声明
alert(111111111111)
}
//函数名称()
demo(); //调用函数
*/
/*格式:
function 函数名称(形参1 ,形参2 ,形参3 ,...){ }
函数名称(实参1 ,实参2 , 实参3 , ... );
*/
/*function demo(str,aaa,num){alert(num)}
demo('你','好',123456);*/
/*str === >你
aaa ====> 好
num ===> 123456*/
/*function demo(){
alert(1)
}*/
/*函数的复用性*/
/*demo();
demo();
demo();*/
/**arguments**/
//arguments 是只关注实参的函数对象
/*function demo(str1,str2){
alert(str1+'-'+str2);
console.log(arguments[2])
}
demo(4,5,'你好');*/
/*0===>4
1===>5*/
/*function fn(num1,num2){
// alert(num1+num2);
// alert(arguments.length)
var num = 0;
for(var i = 0; i < arguments.length; i++){
num += arguments[i];
}
return num;
}
alert(fn(3,4,8))*/
/*return**/
/*function fn(){
return 1;
}
alert(fn()); //弹出1
document.write(fn()); //在页面输出1
console.log(fn()); //控制台打印1
*/
/*function sum(){
var num = 0;
for(var i = 0; i < arguments.length ; i++){
num+= arguments[i];
}
return num;
}
alert(sum(3,5,7))
*/
//函数声明
//function fn(){}
//匿名函数
/*function(){
alert(1111);
}*/
//函数表达式
/*var fns = function(){
alert(1111);
}
*/
//fns()
//alert(fns)
//函数声明
/*function fn(){
return 'fn'
}
alert(fn());
//函数表达式
var fnName = function(){
return 'fnName'
}
alert(fnName())*/
/***匿名函数自我执行*/
/*function fn(){
alert(11111111111)
}
fn();//调用函数才可以执行
var a = function(){
alert(11111111111)
}
a();//也需要调用*/
/*(function(num,str){
alert(num+"---"+str)
})(4,'js') ;//匿名函数的自我执行
*/
/**函数执行环境*/
/*function fn(){
return 1111;
}
alert(fn());*/
/*var num = 10;
alert(window.num)
alert(num)*/
/*function fn(){
// var num = 10; //局部变量
// window.num = 10; //全局变量
num = 10;
document.write(num)
return num;
}
fn();
alert(num)
*/
(function(){
var a = 10; //局部的a
window.a = a; //把局部的a 给全局的a
})();
alert(a)