zoukankan      html  css  js  c++  java
  • JavaScript面向对象编程

    参考资料: 

    JavaScript捷径教程 (加)jonathan snook;(美)aaron gustafson;(英)stuart langridge;dan webb(著) | 郭晓刚(译) | 人民邮电出版社 | 9787115192592 | 2009-01-01

    JavaScript+DOM编程艺术

    JavaScript高级程序设计(中文优化版)(12)

    JavaScript高级程序设计(中文优化版)(目录) 闭包(73P)对象基础(75P)

    http://bbs.blueidea.com/thread-2958015-1-1.html 

    对象实例化机制

    每当通过new关键字执行一个函数,一个新对象就会创建出来。

    原型

    JavaScript被称为基于原型(prototype)的语言(与基于类的语言相对),其原因在于继承是通过原型来实现的。

    为了避免这种开销,JavaScript引入了一个特殊的原型属性,附在原型属性上的方法将被所有对象共享。

    只有setName ()方法是加在原型上的。 因为Name属性依赖于构造函数中传入的参数,所有不能加在原型上,而要在运行时通过this关键字加入。

    原型属性还有一项便利之处,就是即使在对象实例化之后,仍然可以通过原型属性给基对象添加属性,意见实例化的对象只要属于同一个原型,都会获得新加入属性。

    var Person = function(){
            this.name = null;
    }

    Person.prototype.setName = function(name){
            this.name = name;
    }

    Person.prototype.getName = function(){
            alert(this.name);
    }

    字面量对象

    使用字面量对象是创建新对象的另一种主要手段,使用起来极为简单:

    var person ={};

    这样就创建好了一个对象。给对象添加属性和方法也同样简单。

    var person = {
            name:null,
            setName:function(name){
                    this.name = name;
                    return this.name;
            },
            getName:function(){
                    alert(this.name);
            }
    }

    任何时候都可以通过原点或者方括号给对象添加属性。

    person.value=6;

    person["OtherValue"]="";

    person.newMethod = function(){};

    子面量对象的局限时不能把它当作一个类来实例化新的对象。定义了一个字面量对象仅仅是定义了一个对象。

    只能拥有一个对象也有它的好处,因为有时候恰恰就希望只能从一个中心位置进行控制(也就是常说的单例设计模式)。

    在面量对象很适合作为中心访问点。

    不过请记住在JavaScript里没有什么不可能的。如果你想从子面量对象创建新对象也是可以的。就是没必要那么绕。

    方法连

    jQuery就是一个最经典的方法连库,

    var Person = function(){
            this.name = null;
    }

    Person.prototype = {
            setName:function(name){
                    this.name = name;
                    return this;
            },
            getName:function(){
                    alert(this.name);
                    return this;
            }
    }

    内建对象

     宿主对象

     JavaScript使网页具备了“可编程”的特性。

    为什么这么说:JavaScript程序通过JavaScript解释器使Html动态交换的操作

    JavaScript同样也是面向虚拟机的编程,好比Java。从跨平台这个角度完全可以说JavaScript就是面向虚拟机编程。Java的最大亮点就是通过它的虚拟机可以跨任何平台和操作系统。

    对象在javascript占据着重要的位置,函数是对象,数组是对象,正则表达式也是对像,所以正确的理解对象对我们掌握javascript有着至关重要的意义。

    对象字面量提供了一种非常方便创建对象的方法。一个对象字面量就是一个花括号括起来的键值对。对象字面量可以出现在任何允许表达式出现的地方。

  • 相关阅读:
    qt 学习(三)消息基础
    qt学习(二)控件
    sqlserver学习_01
    java对文件操作--01
    js 将json字符串转换为json对象的方法解析
    实现动态代理(Java和spring)
    mysql_01_游标的使用
    java实现多文件上传01
    oracle-2_dblink的创建和使用
    sqlserver学习3---sql函数
  • 原文地址:https://www.cnblogs.com/cuiwenke/p/2277327.html
Copyright © 2011-2022 走看看