源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JS中的prototype与面向对象的实例讲解

  • 时间:2020-07-20 10:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JS中的prototype与面向对象的实例讲解
[u]复制代码[/u] 代码如下:
<script language="javascript" type="text/javascript">          //(1)把一个方法变成一个对象,为对象创建方法和属性          var Name = function () {              //通过prototype给一个对象创建方法              Name.prototype.Add = function (num, title) {              }              //也可以直接用this加方法名为对象创建方法和上面的等价              this.Way = function (str) {              }              //为对象添加属性值              Name.prototype.xing = "123";              //定义静态属性和方法              Name.shi = "static";              Name.Addd = function (num, title) {              }              //静态定义的局部属性和方法只能在静态的类型里面用              alert(Name.shi);              Name.Addd(1, 2);          }          //方法也可以这样声明          function Name1() {              Name1.prototype.add = function () { }              this.way = function () { }              Name1.prototype.shu = "other";          }          //静态定义的全局属性和方法通用          Name.sha = "static";          Name.Addd2 = function () {          }          alert(Name.sha); //调用静态属性          Name.Addd2(); //调用静态方法          var name = new Name();          name.Add(); //对象调用方法          name.Way();          alert(name.xing); //对象调用属性          /*静态的全局变量,在方法外可以调用;静态的局部变量和方法仅限于方法内使用;实例对象不能调用静态的方法 */          /*实例对象不能使用prototype; */            //(2)Javascript面向对象 继承          //父类          function Class() {              this.name = "name";              this.method = function () {                  alert("method");              }          }          //子类          function Class1() {              this.name1 = "name1";              this.method1 = function () {                  alert("method1");              }          }          //子类继承父类          Class1.prototype = new Class();          var obj = new Class1();          alert(obj.name);          alert(obj.name1);          obj.method();          obj.method1();          /******  子类继承父类的语法,子类.prototype=new 父类();  *****/          //(3)子类重写父类          //子类          function Class2() {              this.name2 = "name2";              this.method2 = function () {                  alert("method2");              }          }          Class2.prototype = new Class(); //继承          Class2.prototype.name = "updateName"; //重写父类的属性          Class2.prototype.method = function () {//重写父类的方法              alert("UpdateMethod");          }          var obj2 = new Class2();          alert(obj2.name); //显示updateName          obj2.method(); //显示UpdateMethod          alert(obj2.name2);          obj2.method2();          //(4){}里面的为对象          var arr = new Array();          arr.push({ "name": "1", "age": 12, funA: function () { } });          arr.push({ "name": "2", "age": 13 });          arr.push({ "name": "3", "age": 14 });          for (var i = 0; i < arr.length; i++) {              alert(arr[i].name);              alert(arr[i].age);              alert(arr[i].funA());          }          /****一个对象也可以这么定义***/          var newObject = {              "name": "Jim",              "sex": "Man",               Way: function () { }          };      </script>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部