练习prototype的实现

这个BLOG不错,我练习了一下代码。

感觉他是个高手。

========================

http://www.w3cfuns.com/notes/17398/35b250e9b392675c44f4f0cd833b72c8.html

===================================

<html>
<head>
<title>Test</title>
<script>
    var girl = {
        name: '小雪'
    };
    var boy = {
        name: '小帅',
        pay: function() {
            console.log('花了一千元');
        }
    };
    Object.setPrototypeOf(girl, boy);
    girl.pay();
    var a = {
        fn1: function() {
            console.log(1);
        }
    };
    var b = {
        fn2: function() {
            console.log(2);
        }
    };
    var c = {
        fn3: function() {
            console.log(3);
        }
    };
    var d = {
        fn4: function() {
            console.log(4);
        }
    };
    Object.setPrototypeOf(d, c);
    Object.setPrototypeOf(c, b);
    Object.setPrototypeOf(b, a);
    d.fn1();
    d.fn2();
    d.fn3();
    d.fn4();
    
    var a = {
        sayName: function() {
            alert(this.name);
        }
    };
    var laoyao = {
        name: 'laoyao'
    };
    Object.setPrototypeOf(laoyao, a);
    //laoyao.sayName();
    var laoyao = {
        name: 'laoyao',
        sayName: function() {
            alert(this.name);
        }
    };
    //var fenshen = {};
    //Object.setPrototypeOf(fenshen, laoyao);
    var fenshen = Object.create(laoyao);
    console.log(fenshen);
    //fenshen.sayName();
    
    var createPerson = function(name) {
        return {
            name: name,
            sayName: function() {
                alert(this.name);
            }
        };
    };
    var laoyao = createPerson('laoyao');
    //laoyao.sayName();
    var createPerson = function(name) {
        var o = {};
        o.name = name;
        
        var proto = {
            sayName: function() {
                alert(this.name);
            }
        };
        Object.setPrototypeOf(o, proto);
        return o;
    };
    var laoyao = createPerson('laoyao');
    //laoyao.sayName();
    var createPerson = function(name) {
        var o = {};
        o.name = name;
        Object.setPrototypeOf(o, createPerson.proto);
        return o;
    };
    createPerson.proto = {
        sayName: function() {
            alert(this.name);
        }
    };
    var laoyao = createPerson('laoyao');
    laoyao.sayName();
</script>
</head>
<body>
test
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值