函数与构造函数的本质

##1.铺垫
要了解函数,先要铺垫几个知识点:
a.实例化:从一个定义(类名),变成一个实际存在(占用内存)的对象.

b.初始化:你可以理解为创建 .

c.构造方法:你可以理解为对象从无到有要进行的操作.

d.表达式:凡是将数据和运算符等有值的式子联系起来的式子就是表达式

##2.函数
定义:函数就是被重复执行的代码块,它会被定义一次,但是可能会重复调用多次。
结构:函数名 ,参数,返回值

##定义函数的三种方式
a.函数声明定义

function fn(n){
var a=++n;
return a;
};
console.log(fn(5)); //6

 

b.函数表达式定义

var fn=function(n){
var a=++n;
return a;
};
console.log(fn(5)); //6

 


c.构造函数
js中任意函数都是Function的实例,构造函数所有参数都是字符串类型,除了最后一个参数,其他参数都是形参,最后一个参数是实参(body)。
构造函数的实质是用来初始化对象,它一般和new一起使用,new是用来创建对象,构造函数是用来给对象添加属性和方法。

##使用构造函数的步骤:
a.使用new申请内存,创建对象;
b.调用构造函数,构造函数有一个隐形参数,即this;
c.把创建的对象的属性和方法赋值到构造函数的this参数中;
d.通过this.属性名=值的方式给对象添加成员。

var func = new Function("name", "age", "height", "console.log(name)");

func("yj",18,178);

 


##对于一些复杂函数,这种方法表现性不好,推荐使用前两种方法。

posted @ 2017-08-30 10:21  鲨鱼余烁  阅读(225)  评论(0编辑  收藏  举报