JavaScript 学习笔记十三 面向对象?

本文介绍了JavaScript中的闭包应用、构造函数与原型链的工作原理及如何通过arguments实现方法重载等高级技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       //闭包的应用
        function start(){
            var count = 0;
            window.setInterval(function(){
                document.getElementById("time").innerHTML =count;
                count++;
            },300);
        };
        start();

        //new 的真相
        function Car(){
            this.color = "none";
            if( typeof Car._initialized == "undefined"){//定义限制第一次
                Car.prototype.showColor = function(){
                    alert(this.color);
                }
            }
            Car._initialized = true;
        }
        var car = new Car(); /* new 的过程就相当于后面的操作*/     var car2 = {};  Car.call(car2);
        car.color = "blue";
        car.showColor();
        alert(car2.color);
        //car2.showColor();  //这个为什么调用不成功 ?   难得 new 和第二种方式还是有区别?

        //arguments 伪装重载
        function myMethod() {
            alert(arguments instanceof Array);
            if (arguments.length == 0) {
                alert("no arguments");
            }
            else if (arguments.length == 1) {
                alert("Hello:" + arguments[0].toString())
            }
        }
        myMethod();
        myMethod("ziqiu.zhang");
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值