js面向对象程序设置——继承机制

//继承
        //1、对象冒充
        
    /*     function ClassA(sColor) {
            this.color = sColor;
            this.sayColor = function () {
                alert(this.color);
            };
        }
        
        function ClassB(sColor, sName) {
            this.newMethod = ClassA;
            this.newMethod(sColor);
            delete this.newMethod;
        
            this.name = sName;
            this.sayName = function () {
                alert(this.name);
            };
        }
        
        var objA = new ClassA("blue");
        var objB = new ClassB("red", "John");
        objA.sayColor();    //输出 "blue"
        objB.sayColor();    //输出 "red"
        objB.sayName();        //输出 "John"  */
        
        //2、call方法,A.call(B,...);A,表示父类,B,表示子类。第二个参数后表示传给父类的参数
        
        //2.1、给一个对象加方法
        
        /* function sss(aa){
            alert(aa);
        }
        
        var obj=new Object();
        obj.obj111="23545";
        sss.call(obj,"yellow");
         */
        
         //2.2、对象继承对象
         /* function ClassA(sColor) {
            this.color = sColor;
            this.sayColor = function () {
                alert(this.color);
            };
        }
        
        function ClassB(sColor, sName) {
            ClassA.call(this, sColor);
            this.name = sName;
            this.sayName = function () {
                alert(this.name);
            };
        }
        
        var clsB=new ClassB("blue","adfadf");
        clsB.sayColor(); */
        
        //3、apply方法,A.apply(B,...);A,表示父类,B,表示子类。第二个参数后表示传给父类的参数,
        //参数为array类型
        
        //3.1、对象添加方法
        /* function aaa(aaa){
            alert("aaaa"+aaa);
        }
        
        var obj=new Object();
        obj.name="2343";
        
        aaa.apply(obj,new Array("---bbb")); */
        
        //3.2、对象继承对象
        /* function ClassA(name){
            this.name=name;
            this.showName=function(){
                alert(this.name);
            };
        }
        
        function ClassB(name){
            this.nameb=name;
            this.aaa=ClassA;
            this.aaa.apply(this,new Array(this.nameb));
            
            this.showName1=function(){
                alert(this.nameb+"...bbbbb");
            };
        }
        
        var bbb=new ClassB("ccc");
        bbb.showName();
        bbb.showName1(); */

时间: 2024-09-30 20:05:44

js面向对象程序设置——继承机制的相关文章

js面向对象程序设置——创建对象

<script type="text/javascript">            //工厂方式        //1.原始方式        /* var objCar=new Object();        objCar.name="劳斯莱斯";        objCar.color="blue";        objCar.showColor = function() {          alert(this.colo

JS高级程序设置笔记(六)

22.1.2 作用域安全的构造函数 作用域安全的构造函数在进行任何更改前,首先确认this 对象是正确类型的实例.如果不是,那 么会创建新的实例并返回. 多个程序员在同一个页面上写JavaScript 代码的环境中,作用域安全构造函数就很有用了.届时, 对全局对象意外的更改可能会导致一些常常难以追踪的错误.除非你单纯基于构造函数窃取来实现继 承,推荐作用域安全的构造函数作为最佳实践. 22.1.3 惰性载入函数 惰性载入表示函数执行的分支仅会发生一次.有两种实现惰性载入的方式,第一种就是在函数被

JS高级程序设置笔记(二)

5.4 RegExp类型 用这个类来表示正则表达式. var expression = /pattern/flags; pattern部分是任何简单的或者复杂的正则:每一个正则都有一个或者多个标志. 正则表达式匹配模式下支持下列3个标示 1:g 全局模式 2:i 不区分大小写 3:m 表示多行 5.4.1RegExp实例属性: 1:global:布尔值,表示是否设置了g标志. 2:ignoreCase:布尔值:表示是否设置了i标志 3:lastIndex:整数,表示开始搜索下一个匹配的字符位置,

JS中的原型继承机制

转载 http://blog.csdn.net/niuyongjie/article/details/4810835 在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下: 我们都知道,在JS中有一个function的东西.一般人们叫它函数.比如下面的代码 js代码: [javascript] view plaincopy function Person(name) { alert(name); } Perso

JS高级程序设置笔记(五)

13章:事件 JavaScript与Html之间的交互,是通过事件实现的.可以使用侦听器(或者处理程序)来预定事件. 13.1事件流: 什么是事件流:事件流描述的是从页面中接收事件的顺序. 13.1.1事件冒泡 什么是事件冒泡:可以用一个形象的比喻来描述.小鱼吐泡泡,小鱼在水里,泡泡会从水的最底部一直到水面上结束.事件冒泡和这个意思相近,IE的事件流叫做事件冒泡,是从最具体的元素开始,一直延伸到最顶层的那个结构.意思就是说,比如你创建了一个鼠标点击事件,当你点击这个元素的时候,浏览器会认为你点击

JS高级程序设置笔记(四)

11.DOM拓展 11.1选择符API: SelectorsAPI的核心两个方法,:querySelector()和querySlelctorAll(),在兼容的浏览器中,可以通过Domcument及Element类型的实例可以调用他们. 11.1.1 querySelector()方法: querySelector()方法接收一个css选择符,返回与该匹配的第一个元素,如果没有匹配到就返回null. 通过document调用querySelector()方法会在文档元素的范围内查找到匹配的元素

JS高级程序设置笔记(一)

第一章   1.1 ECMA:欧洲计算机制造商会 ISO/IEC:国标标准话组织和国际电工委员会 1.2JavaScript实现 一个完整的JavaScript实现应该由以下三个不同的部分组成 (1)核心(ECMAScript) (2)文档对象模型(DOM) (3)浏览器对象模型(BOM) 1.2.1 ECMAScript 组成部分:语法.类型.语句.关键字.保留字.操作符.对象. 1.2.2 文档对象模型(DOM) 文档对象模型是针对XML但经过拓展用于HTML的应用程序编程接口(API Ap

JS高级程序设置笔记(三)

8:BOM(浏览器对象模型) BOM的核心是window,它是一个浏览器的实例 在浏览器中,window具有双重角色,它既是用过JS访问浏览器的一个接口,又是EMCA规定的Global对象. 定义全局变量和定义在window上的属性还是有区别的: 全局变量是不能直接使用delete删除(通过var创建的属性有个一个ConfigureAble特性,他的默认值是false所以不能直接删除) 定义在window对象上的属性是可以直接用delete删除的. var num=10;//定义的全局变量的属性

JavaScript 对象的原型扩展(JS面向对象中的继承)

<script type="text/javascript"> function person(name, age) { this._name = name; this._age = age; var _self = this; this.say = function() { console.log(this._name + '-' + this._age); setTimeout(function() { console.log(_self._name); }, 2000