您的位置:首页 > Web前端 > JavaScript

javascript 定义对象、方法和属性的使用方法(prototype)

2017-03-08 16:19 826 查看

prototype

定义和用法

prototype 属性使您有能力向对象添加属性和方法。

语法

object.prototype = {
函数名 : function(){}
}
object.prototype.name=value


javaScript的中类和对象

定义类

例1:
//第一种定义方式
var people = function(name){
this.name = name;
this.say = function(msg){
alert(this.name + " say : " +msg);
}
}
//第二种定义方式
function people(name) {
this.name = name;
this.init = function(msg){
alert(this.name + " say : " +msg);;
}
}
//调用
var people = new people("I");
people.init("hello");//输出:I say hello


//定义静态方法,接例1
people.says = function(msg){
alert(this.name + " say : " +msg);
}
people.aa = "aa";
//调用
people.inits("hellos");//I say Hellos
alert(people.aa);//aa
//这种定义方式无法使用map的调用方式,不懂


定义对象,调用时使用
对象.方法
或者和
java
调用map的方式一样
对象['方法名'](args)


例2:
//定义对象
var people = {
run : function(){
alert("I can run");
}
};
//调用
people.run();//输出 I can run
people['run']();//同上


以上两种方式不能同时使用

Javascript的方法可以分为三类

类方法,如例1

对象方法,如例2

原型方法,
prototype


例3:
//定义类
var people = function(name){
this.name = name;
}
//原型方法
people.prototype = {
introduceChinese : function(){
alert(this.people +"的名字是"+this.name);
}
people;
};

//测试

var p1=new people("Windking");
p1.people = '谁';
p1.IntroduceChinese();


总结:

javaScript创建对象就是定义函数

javaScript对象定义方法和属性有三种方式

在函数内部定义方法和属性,类似java的定义,如例1

使用函数名.prototype定义方法和属性,例3

使用对象定义方法和属性

使用prototype定义属性时,要放在定义方法的后面,不然属性会是
undefined


使用javascript定义属性,不像java那么严谨,在实例经对象后,也可以定义属性

使用prototype和函数内部定义方法和属性,其作用是一样的,都需要实例化函数后才可使用

直接使用函数名定义方法和属性,类似java的静态该当和变量,如:

function scriptBean(){}
//定义方法
scriptBean.sayHello = function(msg){
console.log(this.name + " say : " +msg);
}
//定义属性
scriptBean.name = "scriptBean";
//调用
scriptBean.sayHello("hello");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐