面向对象学习笔记

函数

js中对象  值的结合可以包含数组 字符 函数 名值对

 

创建新的对象

var mingzi=new Object()

var 名字={};

 

赋值cat.name='xxxx';    cat[ 'name']='xxxxx';

删除delete cat.type;

检测 ‘name’ in cat

 

遍历对象里的信息

for(var p in cat){

console.log(p);

console.log(cat['p']);

}

 

一般情况下的样子

命名函数

function add(n1,n1){

return res=n1+n2

}

add(x,x);

函数名直指在内存中为位置

一次封装全局使用

 

匿名函数

window.load=function(){

……

}

 

定义和调用

调用函数时 函数才会开始运行

 

 

函数可以帮助进行反复使用

jQuery

可以统一修改和维护

 

对象字面量{}

function add(num1,num2){…..}

构造函数

new Object()

new Function(‘num1’, 'num2'….)\

 

 

作为数据值使用

var person={};

var  add=function(){

retrun 1;

};

add();

console.log(add());

 

作为参数

setTimeout(fn)

function fn(){

…}

 

 

作为返回值

function fn()

{

return function(){

console.log(1)

};

}

fn()();

 

 

 

函数的定义方式

字面量定义

function声明

function add(){}

调用add();

声明的调用写前写后都可以

 

var复制表达式

var add=function(..){}

add();

赋值表达式的调用写在前面会出现报错

 

构造函数

new function(‘num1’,‘num2’ ‘num1+num2’)

add();

 

函数定义的位置

全局作用域

函数作用域

 

 

函数的调用

普通函数

add();

匿名函数var dd=function(){

}

add();

 

 

 

递归调用

function digui(num){

if(num<=1){rentun 1;}

return num*digui(num-1)

}

console.log(digui(5))

调用自身实现递归操作

 

 

特殊函数的调用

var opreration={

add:function(num1,num2){

return num1+num2;

}

subtract:function(num1,num2){

return num1-num2;

}

}

operation.add/subtract(1,1);

 

 

构造函数的调用

new Person()

 

特殊函数的调用

docume{nt.οnclick=function(){

console.log(”你点击了文档");

};

document.onclick();

 

函数的间接调用

function add(num1,num2){

return num1+num2;

 

}

console(add.call(window,1,2))call为一个一个传

 

console(add.apply(window,[1,2]))apply 为一个数组进行传

或者定义一个数组 data=[1,2] console(add.apply(window,data));

typeof判断基本类型 instanceof判断应用数据类型或者是对象

 

 

参数的类型

形参 实参

 

参数的个数

1形参与实参个数相同

2实参小于形参

function pow(base.power){

power=power||2;

return Math.pow(base,power);

}

console.log(pow(3));

console.log(pow(4,4))

 

arguments类似于数组

function(){

if(arguments.length==0)

renturn;

var sum=0;

for(var i=0;i<=arguments.length;i++){

sum+=argunment[i];

}

return sum;

}

console(add(1,2,3,4,4,));

当传递的实参不确定个数是需要使用arguments进行使用

 

 

arguments

每一个函数都具有

类数组

是一个类似于数组的对象

{

‘0’:‘1’;

‘1’:‘2’;

.。。。

}

arguments无法使用数组的push类的操作

arguments无法跨函数

arguments.callee指代函数本身

 

function add(num1,num2){

if(arguments.length!=add.length) throw new Error('请传入'+add.length+‘个参数!’)

return num1+num2;

}console.log(add(1,1))

 

return 将值给返回

continue  跳出本次循环

break   结束程序

数据可以作为返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值