思维导图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/070a737759575a68c1685b66b4c54d87.png)
课程介绍
- 函数是什么玩意儿
- 函数的定义和调用
- 函数的参数和返回值
对象的简单了解
var cat = {
'name':'Tom',
'age':4,
'family':['father','mom'],
'speak':function(){
console.log('喵喵~');
},
'friend':{
'name':'Jerry',
'age':4
}
};
如何使用对象
var cat = new Object();
var cat = {};
var cat = {
'name':'Tom',
'age':4,
'family':['father','mom'],
'speak':function(){
console.log('喵喵~');
},
'friend':{
'name':'Jerry',
'age':4
}
};
cat.name='Tim';
cat['name']='Tim';
cat.type='加菲猫';
console.log(cat.name);
console.log(cat['name']);
console.log(cat.type);
delete cat.type;
console.log(cat.type);
console.log('type' in cat);
for(var p in cat){
console.log(p);
console.log(cat[p]);
}
什么是函数
function add(num1,num2){
return num1+num2;
}
add.sex='male';
add.setSex=function(sex){
this.sex = sex;
}
console.log(add.sex);
console.log(add.setSex('female'));
console.log(add.sex);
console.log(add(1,4));
函数的定义:三种
function add(){
}
add();
var add = function(){
};
add();
var add = new Function('num1','num2','return num1+num2');
add();
(function(){
console.log(1);
})();
+-~!function(){
console.log(2);
}();
console.log(function(){
return 3;
}());
递归调用 – 阶乘
function factorial(num){
if (num<=1) {return 1}
return num*factorial(num-1);
}
console.log(factorial(5));
console.log(factorial(4));
var operation = {
add:function(num1,num2){
return num1+num2;
},
substract:function(num1,num2){
return num1-num2;
},
'@':function(){
console.log('@');
},
key:function(){
}
};
var key = 'add';
console.log(operation[key](1,2));
参数的使用
function add(num1,num2){
return num1+num2;
}
add(1,2);
var person={};
function setPerson(obj){
obj.name = 'xm';
}
setPerson(person);
console.log(person);
参数的个数
形参 = 实参
function add(num1,num2){
return num1+num2;
}
add(1,2);
形参 < 实参
1、如果只传入一个值,表示默认计算2次幂
2、如果传入2个参数,表示计算几的几次幂
function pow(base,power){
if (!power) {power=2;}
return Math.pow(base,power);
}
console.log(pow(3));
console.log(pow(3,3));
function pow(base,power){
return Math.pow(base,power);
}
console.log(pow(3));
console.log(pow(3,3));
实参 > 形参
function add(){
if (arguments.length==0) {return;}
var sum = 0;
for(var i=0;i<arguments.length;i++){
sum+=arguments[i];
}
return sum;
}
console.log(add());
console.log(add(1,2,3,4,5));
console.log(add(1,2,3));
arguments类数组
{
'0':1,
'1':2,
'2':3,
length:3
}
使用
function fn(name){
arguments[0]="";
console.log(name);
}
fn('xm');
function add(num1,num2){
alert(arguments.callee);
return num1+num2;
}
add();
阶乘使用
function jiecheng(num){
if (num<=1) {return 1}
return num*arguments.callee(num-1);
}
console.log(jiecheng(5));
console.log(jiecheng(4));
var jiecheng = function fn(num){
if (num<=1) {return 1}
return num*fn(num-1);
}
console.log(jiecheng(5));
console.log(jiecheng(4));
参数
什么可以作为参数
function fn(){
}
function add(num1,num2){
return num1+num2;
}
add(1,1);
$('p')
参数的返回值
- 参数 – 函数的输入
- 返回值 – 函数的输出
return用在函数中
return
1、return; 结束
2、return num sum 将值返回
3、return 一般情况下放在最后,因为return后面的代码将不再执行
continue用在循环中,表示跳出本次循环
for(var i=0;i<10;i++){
if (i==4) {continue;}
console.log(i);
}
break用在循环中,表示跳出循环
for(var i=0;i<10;i++){
if (i==4) {break;}
console.log(i);
}
console.log("我跳出来了");