javascript 定义对象、方法和属性的使用方法(prototype)
来源:互联网 发布:java游戏 编辑:程序博客网 时间:2024/04/29 20:22
prototype
定义和用法
prototype 属性使您有能力向对象添加属性和方法。
语法
object.prototype = { 函数名 : function(){}}object.prototype.name=value
Javascript的方法可以分为三类
- 类方法
- 对象方法
- 原型方法
例1:
function People(name){ this.name=name; //对象方法 this.Introduce=function(){ alert("My name is "+this.name); }}//类方法People.Run=function(){ alert("I can run");}//原型方法People.prototype.IntroduceChinese=function(){ alert("我的名字是"+this.name);}//测试var p1=new People("Windking");p1.Introduce();People.Run();p1.IntroduceChinese();
总结:
- javascript创建对象就是定义函数
javascript对象定义方法和属性有三种方式
- 在函数内部定义方法和属性,类似java的定义,如例1
- 使用函数名.prototype定义方法和属性,例2:
function scriptBean(){}//定义方法scriptBean.prototype = { _sayHello : function(msg){ console.log(this.name + " say : " +msg); }, _destroy : function(){ console.log(this.name + " destroy"); }}//定义属性scriptBean.prototype.name = "scriptBean";//调用var bean = new scriptBean(); //bean.name = "test";console.log(bean.name);bean._sayHello("hello");bean._destroy();
- 使用prototype定义属性时,要放在定义方法的后面,不然属性会是
undefined
- 使用javascript定义属性,不像java那么严谨,在实例经对象后,也可以定义属性
- 使用prototype和函数内部定义方法和属性,其作用是一样的,都需要实例化函数后才可使用
- 直接使用函数名定义方法和属性,类似java的静态该当和变量,如:
function scriptBean(){} //定义方法 scriptBean.sayHello = function(msg){ console.log(this.name + " say : " +msg); } //定义属性 scriptBean.name = "scriptBean"; //调用 scriptBean.sayHello("hello");
0 0
- javascript 定义对象、方法和属性的使用方法(prototype)
- javascript prototype继承对象的属性和方法
- prototype 属性重写对象方法和新定义对象方法
- Javascript的原型对象和prototype属性
- JavaScript prototype 属性和 对象属性、类属性的区别
- JavaScript面向对象之类方法和类属性的定义
- JavaScript:prototype属性使用方法
- JavaScript:prototype属性使用方法
- JavaScript:prototype属性使用方法
- JavaScript:prototype属性使用方法
- JavaScript:prototype属性使用方法
- javascript的prototype给对象增加方法属性
- JavaScript---对象学习(一)object对象、string对象、javaScript的constructor属性和prototype属性
- JavaScript中对象的prototype属性
- JavaScript中Object 对象的Prototype属性
- javascript中对象的prototype属性
- prototype为对象添加属性和方法
- javascript 方法 prototype属性
- Codeforces 712D Memory and Scores【dp+前缀和】
- Android Canvas
- Android中VR全景图项目配置环境和具体项目Demo
- leetcode-11. Container With Most Water
- JSpatch被苹果封杀,RN (React Native) 会不会就此终结,无缘Apple?
- javascript 定义对象、方法和属性的使用方法(prototype)
- libvlc_media_player_stop死锁问题解决
- webpack的简单使用(一)
- 【WCF】错误处理(一):FaultException 与 FaultReason 的搭配
- 蓝桥杯——算法训练 判定字符位置(Vip试题)
- 201512-2 消除类游戏
- css复习及flex布局
- 微软caffe-SSD的训练和预测(windows cpu)
- div的控制