1.普通函数与构造函数
(1)普通函数
普通函数仅仅具有某项功能,随时可直接执行。定义函数时,既不指定函数返回类型,也不指定参数类型,可以有返回值。
function getNum(n)
{
if( n > 0 )
console.log("over zero");
else
console.log("is small");
}
(2)构造函数
构造函数是原型对象,用来创建一个实例对象。构造函数首字母大写,可以在其中定义属性和函数,this表示对象本身
/* 一个简单的构造函数是原型对象,用来创建实例对象
* 1.用this表示对象本身
* 2.没有return语句
* 3.首字母必须大写
*/
function Point(x, y){
this.x = x;
this.y = y;
this.d = function(){
return Math.sqrt(this.x * this.x + this.y * this.y);
}
}
var p1 = new Point(1, 1)
console.log( "p1.d() = " + p1.d());
原型对象可以通过prototype继续定义属性和方法
/*给原型再添加新属性
* 1.用prototype来表示原型对象
* 2.用户function表示增加的属性为函数
* 3.用this对象本身
*/
Point.prototype.z = 0;
Point.prototype.r = function(){
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
}
p1.z = 1;
console.log("p1.z = " + p1.z);
console.log("p1.r() =" + p1.r());
2.创建实例对象
(1)创建空的实例对象,再赋值
// 创建一个空对象,然后给他赋属性值和方法
var person = new Object()
person.name = "武汉";
person.mailcode = "430000";
person.print = function(){
console.log(person.name + " " + person.mailcode)
};
person.print();
(2)直接创建实例对象
/*
* 采用JSON格式,直接创建一个对象
* 1.可以定义属性
* 2.可以定义方法
*/
var x = {
name:"wuhan",
province:"hubei",
from:function()
{
return this.name+this.province
}
};
console.log(x.from());
(3)由构造函数创建实例对象
var p1 = new Point(1, 1)
console.log( "p1.d() = " + p1.d());
浙公网安备 33010602011771号