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

js、函数的分类、对象、arguments、函数参数

2017-12-02 20:24 656 查看
一般把script标签内的js代码,放到body结束标签的前面。

函数

function 函数名(参数名){ 要执行的代码 }

//声名函数, 函数只有在调用时才会被执行
function fin(){
alert("胖胖");
}

//调用函数,这个函数名后的小括号就是调用函数的意思
alert(fin);   //打印整个函数
fin();    //调用函数

//函数的小括号中可以有参数
// 参数可以分为两种:形参 与 实参
function show(str1,str2){    //str1 ,str2就是形参
alert(str1);      //打印 胖胖
alert(str2);      //打印 一点也不胖
alert(str1+str2);
}
show("胖胖","一点也不胖");   //调用时传的参就叫实参

//可以定义一个函数,然后把它做为一个值赋值一个变量;
var fin = function(){
alert("胖胖");
};
alert(fin);
fin();

//一样可以传参
var fin = function(num1,num2){
var sum = num1 + num2;
alert(sum);
};
fin(1,3);


return的使用

//return的第一个作用,可以返回函数的值;
function show(num1,num2){
var sum = num1+num2;
return sum;     //在这里把sum给返回出来;
}
alert( show(3,9) );      //函数执行完
4000
成之后,这里会得到函数返回的值;
var num = show(3,9);
alert(num);

//return的第二个作用,可以终止函数的执行;
function fin(){
for(var i = 0; i < 5; i++){
alert("i的值:"+i);
break;
}
alert("11111");
return "OK";     //这里执行完return后,下面两句代码不会执行;
alert("22222");
alert("33333");
}
fin();
alert(fin());

function fin(){
alert("胖胖");
return undefined;    //函数在最后面都会有一个默认的返回值,这个值就是undefined;
}
alert( fin() );   //这里会打印一个undeinfed;


arguments

//arguments 对象的作用:相当一个容器,传进来的实参都会保存到这个对象中来,没有定义形参时也是一样;
//每一个函数都有这个对象
function show(){
// alert(arguments);
alert(arguments.length);
alert(arguments[0]);
alert(arguments[1]);
}
show(1,5);


函数的类型

function show(){}

alert(typeof show);   //打印是一个function;


对象

//对象的第一种创建方法,可以通过对象直接量创建;
var obj = {
"name":"小明",//这里必须是双引号,单引号不行。
"age":25,
"sex":"男",
count:function(){
var sum = 0;
for(var i = 0; i < arguments.length; i++){
sum += arguments[i];
}
alert(sum);
},
clothing:{
color:"red",
width:"100",
height:"100"
}
};
alert( obj.age );
alert( obj.name );
alert( obj["name"] );   //获取属性值的第二种方法
alert( obj.count(1,5) );

alert(obj.clothing.color);
alert(obj.color);    //obj这个对象上没有color这个属性,但是访问这个属性时也不会报错。而是返回undefined;

//修改对象的属性值;
obj.age = 21;
alert(obj["age"]);

//添加;
obj.abc = 312;
alert(obj["abc"]);

//删除属性;
delete obj.abc;
alert(obj["abc"]);


函数的分类和函数参数

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Keywords" content="关键字,关键词">
<meta name="Description" content="描述和简介">
<title>Title</title>
<style type="text/css">
*{margin:0;padding:0;}
body,ul,li,ol,dl,dd,p,h1,h2,h3,h4,h5,h6{ margin:0;}
a{text-decoration:none;}
img{border:none;}
ol,ul{list-style:none;}
</style>
</head>
<body>
<!--
函数的分类
1: 是否有名字: 有名函数  匿名函数
2: 能否直接加括号执行: 函数定义   函数表达式
1: 函数定义 和 函数表达式的区别
函数表达式能在大括号后面分号之前加小括号执行,函数定义这样子做的话是不可以执行的
函数表达式加特殊符号可以自执行 + - ~ !
函数定义加()处理之后 可以再加括号自执行
参数:
1 形参: 形参在小括号当中,命名规则和变量一样(字母 数字 _ $  不能以数字开头)
2 实参: 函数执行时,真实传入的数据,可以是任意数据类型
3 参数的个数可以有多个,没有限制,且实参的个数可以比形参的个数多
x = 10 , y = 1
2x + 3x + 4y =
4 参数的个数不确定的时候,可以用不定参来做 arguments
5 当参数是有名函数时,名字不能四处加括号执行,也不能在形参函数中加括号执行

定义过程包括: 函数的参数
定义过程中,形参不仅只是定义,还会和实参进行对应赋值
形参相当于var了一个变量
-->
<div id="box"></div>
<script>
Fn();
function Fn(){
alert(1);
};

document.onclick = function (){
alert(2);
};

function Fn(){
alert(1);
};
Fn();

var An = function (){
alert(2);
};
An();

Fn();
function Fn(){
alert(1);
};

//函数定义加()处理之后 可以再加括号自执行
(function Fn(){
alert(1);
})();

//函数表达式能在大括号后面分号之前加小括号执行
var An = function (){
alert(2);
}();

+function (){
alert(3);
}();
-function (){
alert(4);
}();
~function (){
alert(5);
}();
!function (){
alert(6);
}();

Fn(2,3,5,6,7,1,1);//实参
function Fn(a,b,c,d,e){ //形参
alert(a+b+c+d+e);
};
Fn1(function An(){alert(1);});

function Fn1(x){
//alert(x);
x();
};
var a = function b(){
alert(1);
//b();
};
a();

sum(function (){alert(1);});
function sum(x){
x();
};

Fn(1,2,3,4);
function Fn(a,b,c,d){
alert(a+b+c+d);
};

//不定参求和 arguments
sum(1,3,7,4,1,1,1,1,1,100,120);
function sum(){
var x = 0;//定义一个变量接收和
//console.log(arguments);
for(var i = 0; i < arguments.length; i++){
x += arguments[i];
};
console.log(x);
};
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: