zoukankan      html  css  js  c++  java
  • JavaScript面向对象之类的创建

    JavaScript对象的定义:

    在js中函数极为对象,对象分为二种:对象字变量产生的对象连接到Object.prototype;函数对象连接到Function.prototype

    方法当一个函数被保存为对象的一个属性时,我们称它为一个方法。


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>JavaScript中的类</title>
    <script type="text/javascript">
    //-------第一种:函数自变量
     // 创建Object类的实例,全部直接用花括号括起来的都属于Object类,这样的创建的类不用实例化
    //!!!不推荐使用
    var obj = {
    	property:'this is a property.',
    	method:function(){
    		return 'I am a method.'
    	}
    };
    // 调用方法:
    console.info('property:'+obj.property+'
    method:'+obj.method());
    
    //---------------另外一种:函数对象
    // 自己定义类:事实上在JavaScript中一个函数就是一个类,调用的时候必须进行实例化  -->能够使用
    // !每一个实例化的类都会有三个属性,仅仅是当中一个属性是方法而已
    function User(name,age){	// 尽管对类名没有强制要求,但建议类名进行大写
    	// 创建属性
    	this.name = name ;
    	this.age = age ;
    	//创建方法
    	this.getInfo = function(){
    		// 获得实例的变量必须加上this
    		return 'name-->'+this.name+'
    age-->'+this.age ;
    	}
    }
    // 调用方法
    // 实例化
    var user  = new User() ;
    console.info(user.getInfo());
    
    //基于prototype进行创建    每一个实例化的对象都公用统一的方法 -->强烈推荐使用
    // 性能上和维护方面都是最好的
    function Person(name,age){
    	this.age = age ;
    	this.name = name ;
    }
    Person.prototype.getInfo = function(){
    	 return 'name-->'+this.name+'
    age-->'+this.age ;
    };
    // 调用方法
    // 实例化
    var person = new Person();
    console.info(person.getInfo());
    
    </script>
    </head>
    
    <body>
    <button onclick="javascript:alert('属性:'+obj.property+'
    方法:'+obj.method())" >第一:创建Object类的实例(不推荐)</button>
    <button onclick="javascript:alert(new User('tom',12).getInfo())" >第二:自己定义类(能够使用)</button>
    <button onclick="javascript:alert(new Person('tom',12).getInfo())" >第三:基于原型prototype(推荐使用)</button>
    
    </body>
    </html>
    

    JavaScript,面向对象开发,恐怕已成趋势。之后JQuery 2.0的版本号后,也在使用JavaScript面向对象的编程概念。

    JavaScript,一直以来对我来说,是一种灵活而难以控制的语言,可是无法否认的是它真的非常强大。但假设不能非常规范的进行编码的话,后期的维护,简直就是个痛苦。像高级语言一样的去编写JavaScript代码,这样才是明智的选择。


  • 相关阅读:
    数据绑定表达式语法(Eval,Bind区别)
    使用博客园的第一件事 自定义主题
    sql2000 跨服务器复制表数据
    使用UpdatePanel 局部刷新出现中文乱码的解决方法!!
    MMC不能打开文件MSC文件
    sql 日期 、时间相关
    loaded AS2 swf call function in AS3 holder
    Rewrite the master page form action attribute in asp.net 2.0
    100万个不重复的8位的随机数
    flash 中实现斜切变型
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6892406.html
Copyright © 2011-2022 走看看