`
NumberWen
  • 浏览: 30839 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

重新熟悉javascript object

阅读更多

今天碰巧在网上看了一篇关于介绍创建js对像的文章,读后才发觉以前所了解的js又开始陌生了,剩下的关于prototype.js的介绍,只是粗略的浏览了一下,明天再继续认真拜读

以下是文章的url http://hi.baidu.com/lovevc2008/blog/item/4bd2a9dcdfbc4d325882dd96.html

看后可能各位看官应该知道我写这个文章的目的吧

/*
    	//Class 声明方式 -- 创建object -- start 
    	var Class = {
    		create : function() {
    			//返回构造函数
    			return function() {
    				//声明构造函数
    				this.initialize.apply(this,arguments);
    			}
    		}
    	}
    	
    
    	var person = Class.create();
    	
    	person.prototype = {
    	  
    	  //必须重写initialize方法,作为该类的构造器
    	  initialize : function(name) {
    	  	this.name = name;
    	  },
    	  
    	  showMyName : function() {
    	  	alert(this.name);
    	  }
    	}
    	
    	var personObj = new person("我是啊杰");
    	
    	personObj.showMyName();
    	
    	//Class 声明方式 -- 创建object -- end
    	*/
    	
    	/*
    	//匿名声明方式 -- 创建object -- start
    	var person = function(name) {
    		this.name = name
    	}
    	
    	person.prototype = {
    		showMyName : function() {
    			alert(this.name);
    		}
    	}
    	new person("叼你老屎").showMyName();
    	//匿名声明方式 -- 创建object -- end
    	*/
    	
    	/*
    		//函数声明方式 -- 创建object -- start
    	function person(name) {
    		this.name = name;
    	    
    	    this.showMyName = function() {
    	    	alert(name); 
    	    }
    	}
    	
    	//函数声明方式 -- 创建object -- end
    	
    	new person("叼你老屎").showMyName();
    	*/
    	
    	/*
    	//prototype.js声明方式 -- 创建object -- start
 		var person = {
 			name : '靓仔',
 			
 			showMyFirendName : function() {
 				alert(this.name);
 			}
 		}
 		
 		//prototype.js声明方式 -- 创建object -- end
 		
 		//要注意prototype.js声明方式,它不用new就可以直接拿来使用,给我感觉像static
 		person.showMyFirendName();
 		
 		*/

 

 
//主要测试self,this关键字
function getWord() {
     	alert('叼你老屎!总稳你唔到!');
     }
      
     //父类--start prototype 默认为null
     function obj1(num) {
         this.num = num
     }
     
     obj1.prototype = {
       say:function() {
       	 alert('叼你老屎啊,我是你老豆啊!敢重新编我讲的话!');
       }
     }
      //父类--end
      
     //子类--start
     function obj2(str) {
      this.str = str;
     }
     
     var o1 = new obj1(3);
     
     obj2.prototype = o1;
     
     /*
     	//可以在重写prototype的say方法,但是不会对定义子类时定义say方法产生影响,其它重写全部影响
	     obj2.prototype.say = function (){ 
	        alert('老豆编下你D话姐,唔会对你有影响架,把口系我度,总有因为我是帅哥');	
	     }
     */
     
        
    
    //obj2.prototype.num = '8'; 
     
    /*
 	//可以在定义子类时,定义say方法,但是不会对实例化后o2重写的方法say,prototype链上的say方法产生影响
     obj2.say = function () {
       alert("老豆我讲个D野应该无编你呱,因为我句话同你表达的野都唔同,总有因为我是靓女");
     }
     */
   
     
     //子类--end
     
     
     var o2 = new obj2('wenzj');
     
     /*
     	 //可以在实例化后,重写say方法,但是重写的方法对父类,或prototype链中的所有属性不产生影响
	     o2.say = function () {
	         alert('老豆编下你D话姐,唔会对你有影响架,把口系我度,总有因为我是帅哥');
	     }
     */
    
     
     
     
     o2.num = 8;
     
     o1.say();
     
     o2.say();
     
     obj2.say();
     
     alert(o1.num);
     
     alert(o2.num);
     
     /*
       总结:js中的prototype相当于java的全局作用域  如
       obj.prototype = {};
       凡是对像都有prototype,prototype从而形成环链表,环链表当遇到prototype为null的时,prototype链断开
       形成prototype链中的属性和行为都是共享的,如果重写链中的某一属性或行为,相当于java中在子类里增加了的
       同一属性或重写父类行为,java中父类的属性和行为都是不受子类的影响,但是js有个特殊地方就是当你通过prototype重写时,会对prototype链中的
       所有同一属性或行为都是新增或重写后的,相当于父类和子类的所有属性和行为都一模一样
       class obj {}中的‘{}’
      */

  

 

 其实今天也写了关于dwr方面的东东,程序简单,只是简单的dwr搭建,就不上传了

分享到:
评论

相关推荐

    .Principles.of.Object-Oriented.Programming.in.JavaScript

    对于那些熟悉C++或Java等语言中的类为基础的OOP模型的开发者来说,JavaScript提供了另一种实现OOP的方式——基于原型的继承。 #### 书籍简介与适用人群 本书适合所有对JavaScript和面向对象编程感兴趣的开发者。...

    JavaScript内核系列 pdf

    在Web开发中,JavaScript与DOM(Document Object Model)紧密相连,用于动态更新页面内容。熟悉DOM API,学会选择、遍历和修改DOM元素,以及正确处理事件监听和冒泡,可以创建交互性强的网页应用。 九、ES6及新特性...

    《JavaScript高级编程》学习笔记之object和array引用类型

    在JavaScript中,几乎所有的引用类型值都是Object类型的实例。Object类型是ECMAScript中使用最多的一个类型。创建Object实例有两种方式: 1. 使用new操作符后跟Object构造函数,例如: ```javascript var person ...

    前端开发+JavaScript+网页打砖块小游戏+熟悉JavaScript逻辑以及编程思想

    它的主要用途是在用户与网页之间建立实时交互,处理DOM(Document Object Model)元素,进行事件监听,以及通过AJAX(Asynchronous JavaScript and XML)实现异步数据交换。 在制作“网页打砖块”小游戏的过程中,...

    DELPHI之superobject实现JSON格式,可实现POST

    在 DELPHI 开发中,SuperObject 是一个非常流行的库,用于处理 JSON 数据。这个库提供了强大而灵活的 API...通过熟悉 SuperObject 的 API 和 Delphi 的网络编程机制,你可以轻松地在 DELPHI 应用程序中集成 JSON 支持。

    JavaScript中英文手册.zip

    此外,熟悉DOM(Document Object Model)操作是JavaScript在Web开发中的关键,这包括选择元素、添加和删除元素、修改属性和样式等。对于更高级的用法,如事件处理、AJAX请求、以及现代框架(如React、Vue或Angular)...

    JavaScript 帮助 学习 文档

    熟悉这些工具和技术将极大地扩展JavaScript开发者的技能范围。 最后,学习和理解ECMAScript的新特性和更新(如ES6、ES7、ES8等)是保持与时俱进的关键。例如,箭头函数、解构赋值、模板字符串、let和const的引入都...

    JavaScript动态网页设计.rar

    5. **JSON**:JavaScript Object Notation是一种轻量级的数据交换格式,与JavaScript语法紧密相关,常用于服务器向客户端传递数据。 6. **jQuery库**:jQuery是一个广泛使用的JavaScript库,简化了DOM操作、事件...

    JavaScript.实用教程

    3. **熟悉JavaScript与DHTML元素的交互**:理解如何通过JavaScript操作DOM元素,实现网页动态效果。 4. **精通客户端脚本编写**:能够利用JavaScript开发复杂的客户端应用程序,增强用户体验。 5. **构建互动网页**...

    精通JavaScript.pdf

    通过DOM(Document Object Model)操作,JavaScript能实时更新页面内容,提供动态用户体验。同时,JavaScript还有大量的库和框架,如jQuery、React、Vue等,它们极大地简化了开发工作,提高了开发效率。 标签...

    纯JavaScript实现Ajax

    **Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以让网页更加互动、响应更快...

    JavaScript学习资料大全.rar

    学习JavaScript,还需要熟悉ES6(ECMAScript 2015)及以后的新特性,比如模板字符串、解构赋值、let和const、类和模块等,这些新特性的引入极大地提升了开发效率和代码质量。 除此之外,JavaScript在服务器端也有...

    javascript刷题讲义.rar

    5. **原型和继承**:JavaScript的继承机制基于原型链,熟悉Object.prototype、__proto__、prototype等概念,以及class关键字的使用,有助于理解面向对象编程。 6. **异步编程**:包括回调函数、Promise、async/...

    JavaScript课件完整版

    5. Object.create()与类的概念:了解如何使用`Object.create()`创建对象,以及ES6引入的类(class)语法糖。 三、JavaScript实例与练习 课件中包含的例题部分将帮助学习者通过实践巩固理论知识,可能包括: 1. 基础...

    javascript编程宝典资源

    在JavaScript编程中,DOM(Document Object Model)操作是必不可少的,它允许开发者通过JavaScript来修改网页内容。学习如何选择元素、添加和删除节点、以及改变属性和样式,将使你能创建动态网页。 AJAX...

    JavaScript中的Object对象学习教程

    JavaScript是目前前端开发中使用最广泛的编程语言之一,而Object对象是JavaScript中最为基础且核心的概念之一。...对于任何想要深入学习JavaScript的初学者来说,了解和熟悉Object对象都是不可或缺的第一步。

    500个JavaScript效果源代码

    10. **拖放功能**:JavaScript可以实现拖放操作,使得用户能直观地重新排列元素或上传文件。 11. **地理定位**:利用浏览器的Geolocation API,JavaScript可以获取用户的地理位置信息,用于地图服务或其他相关应用...

    JavaScript课件及例程

    5. **数组操作**:JavaScript中的数组提供了丰富的操作方法,如push、pop、shift、unshift、splice等,熟悉这些方法能提高代码效率。 6. **事件处理**:JavaScript常用于实现页面的交互效果,如按钮点击、表单验证...

    JavaScript权威指南第五版【新】(犀牛书)

    JavaScript语法以流行的程序设计语言C、C 和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序设计...

    JavaScript菜鸟学习教程

    熟悉DOM树的概念以及选择器API(如getElementById、getElementsByClassName等)是进行页面交互的关键。 四、事件处理 JavaScript的事件处理机制让网页具有了用户交互性。事件是用户或浏览器执行的特定动作,如点击...

Global site tag (gtag.js) - Google Analytics