zoukankan      html  css  js  c++  java
  • SeaJS结合javascript面向对象使用笔记(一)

    Sea.JS

    Seajs结合javascript面向对象

    所需页面

    /app/index.html

    /lib/factory.js

    /lib/sea.js

    /lib/constructor.js

    /js/init.js

    代码

    Index.html

    <!DOCTYPE html>

    <html>

    <head>

        <title>面向对象</title>

        <meta charset="utf-8" />

    </head>

    <script src="../lib/sea.js"></script>

    <body>

    <script type="text/javascript">

        seajs.use("../js/init.js");

    </script>

    </body>

    </html>

     

     

    Factory.js

    define(function(require,exports){

    //工厂方式

     function createObject(name,age) {

            var o = new Object();

            o.name = name;

            o.age = age;

            o.say = function() {

                alert(this.name+"-"+this.age);}

            return o;

        }

     exports.createObject=createObject;

    });

    Constructor.js

    define(function(require,exports){

     //构造函数方式

        function Person_constructor(name,age) {

            this.name = name;

            this.age = age;

            this.say=function(){

                alert(this.name+"="+this.age);

            }

        }

     

        exports.Person = Person_constructor;

    });

     

     

    Init.js

    //init.js

    define(function(require, exports, module) {

     var factory = require('../lib/factory') ;

      var constructor = require('../lib/constructor');

     //工厂方式创建对象

        var b = factory.createObject("ajck",11);

    //构造函数方式

        var b2 = new constructor.Person("leno",22);

     

        //解决工厂方式不能使用instanceof判断对象,因为工厂方式创建instanceof Object

        console.info(b2 instanceof constructor.Person);

        b2.say();});

  • 相关阅读:
    BZOJ3224普通平衡树——旋转treap
    我有一个梦想
    Python自动化测试入门
    Java为何这么难学?
    jmeter正则表达式书写
    fiddler抓包后Jmeter实现登录接口
    JMeter如何使用用户定义的变量
    第一篇博客说明
    React笔记_(5)_react语法4
    React笔记_(4)_react语法3
  • 原文地址:https://www.cnblogs.com/or2-/p/3316635.html
Copyright © 2011-2022 走看看