构造函数 函数域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数 函数域相关的知识,希望对你有一定的参考价值。

要想搞明白构造函数,就要先弄懂什么是函数?以及js中有哪几种函数的创建形式。
什么是函数?
函数简单的说就是重复执行的代码块;按照javascript 权威指南(第六版)
书中的说法:函数是这样的一段JavaScript 代码,它只定义一次,但可能被执行或调用任意次。
        Js 中有哪几种创建形式呢? 
        函数使用function 关键字来定义,其后跟随,函数名称标识符、 一对圆括号、一对花括号。 JavaScript 中有三种创建形式,分别是:
   ①         声明式 
function fn( ){ };   这种定义的方式,无论在哪儿定义,别处都可以调用 ;
   ②         函数的字面量或叫直接量或称表达式
var fn=function () { }; 此时函数作为表达式存在,调用只能在定义的后面;  
解释一下表达式:凡是将数据和运算符等联系起来有值得式子就是表达式。
   ③         以new Function 的形式
var fn = new Function (arg1 , arg2 ,arg3 ,…, argN , body  ) 
解释:
        Function 构造函数所有的参数都是字符串类型。除了最后一个参数, 其余的参数都作为生成函数的参数即形参。这里可以没有参数。最后一个参数, 表示的是要创建函数的函数体。

另外,js 中任意函数都是Function 的实例。
有了以上的铺垫 就可以来说明什么是构造函数了:
构造:它是设计,组合。将没有的东西先概念实现,比如建筑图纸
构造函数:首先,它是函数,并且任何的函数都可以作为构造函数存在 ,它的本质是初始化对象。构造函数都是和new  关键词一起使用的。 new 就是在创建对象,从无到有,构造函数就是在为初始化的对象添加属性和方法( 成员 ) 好比:
                            this.name = xiaoming;
                            this.age = 10;
                            this.gender = ‘男‘; 
其实刚才的创建函数的第三种方法就是利用构造函数的方式实现的 
如: var obj = new Person( “xiaoming ”, 10 ,” 男” )  ;
有了构造函数,那构造对象就成以下四步了:
                         1, new 申请内存, 创建对象
                         2, 调用构造函数, 构造函数有一个隐式参数, 即 this
                         3, 刚创建出来的对象的引用 赋值给 this, 由函数处理. 
                         4, 在构造函数中利用 this.成员 = 值 来给对象添加成员 .
以一个典型的案例结尾 :
Function  Person( name,age,gender  ) { 
                this.name = name;
                this.age=age;
                this.gender = gender;
                this.sayHello = function () {
                        console.log( ‘Hello ‘+ name );
                };
}
           var P1= new Person(‘jim‘,10, ‘男’);
           var P2= new Person(tom,20, ‘女);

以上是关于构造函数 函数域的主要内容,如果未能解决你的问题,请参考以下文章

js构造函数详解

js构造函数

python中的构造函数和构造函数和析构函数的作用

java类静态域块,非静态域块,构造函数的初始化顺序

如何开发插件实现vs快速生成构造函数

构造函数 析构函数