今天碰巧在网上看了一篇关于介绍创建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搭建,就不上传了
分享到:
相关推荐
对于那些熟悉C++或Java等语言中的类为基础的OOP模型的开发者来说,JavaScript提供了另一种实现OOP的方式——基于原型的继承。 #### 书籍简介与适用人群 本书适合所有对JavaScript和面向对象编程感兴趣的开发者。...
在Web开发中,JavaScript与DOM(Document Object Model)紧密相连,用于动态更新页面内容。熟悉DOM API,学会选择、遍历和修改DOM元素,以及正确处理事件监听和冒泡,可以创建交互性强的网页应用。 九、ES6及新特性...
在JavaScript中,几乎所有的引用类型值都是Object类型的实例。Object类型是ECMAScript中使用最多的一个类型。创建Object实例有两种方式: 1. 使用new操作符后跟Object构造函数,例如: ```javascript var person ...
它的主要用途是在用户与网页之间建立实时交互,处理DOM(Document Object Model)元素,进行事件监听,以及通过AJAX(Asynchronous JavaScript and XML)实现异步数据交换。 在制作“网页打砖块”小游戏的过程中,...
在 DELPHI 开发中,SuperObject 是一个非常流行的库,用于处理 JSON 数据。这个库提供了强大而灵活的 API...通过熟悉 SuperObject 的 API 和 Delphi 的网络编程机制,你可以轻松地在 DELPHI 应用程序中集成 JSON 支持。
此外,熟悉DOM(Document Object Model)操作是JavaScript在Web开发中的关键,这包括选择元素、添加和删除元素、修改属性和样式等。对于更高级的用法,如事件处理、AJAX请求、以及现代框架(如React、Vue或Angular)...
熟悉这些工具和技术将极大地扩展JavaScript开发者的技能范围。 最后,学习和理解ECMAScript的新特性和更新(如ES6、ES7、ES8等)是保持与时俱进的关键。例如,箭头函数、解构赋值、模板字符串、let和const的引入都...
5. **JSON**:JavaScript Object Notation是一种轻量级的数据交换格式,与JavaScript语法紧密相关,常用于服务器向客户端传递数据。 6. **jQuery库**:jQuery是一个广泛使用的JavaScript库,简化了DOM操作、事件...
3. **熟悉JavaScript与DHTML元素的交互**:理解如何通过JavaScript操作DOM元素,实现网页动态效果。 4. **精通客户端脚本编写**:能够利用JavaScript开发复杂的客户端应用程序,增强用户体验。 5. **构建互动网页**...
通过DOM(Document Object Model)操作,JavaScript能实时更新页面内容,提供动态用户体验。同时,JavaScript还有大量的库和框架,如jQuery、React、Vue等,它们极大地简化了开发工作,提高了开发效率。 标签...
**Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以让网页更加互动、响应更快...
学习JavaScript,还需要熟悉ES6(ECMAScript 2015)及以后的新特性,比如模板字符串、解构赋值、let和const、类和模块等,这些新特性的引入极大地提升了开发效率和代码质量。 除此之外,JavaScript在服务器端也有...
5. **原型和继承**:JavaScript的继承机制基于原型链,熟悉Object.prototype、__proto__、prototype等概念,以及class关键字的使用,有助于理解面向对象编程。 6. **异步编程**:包括回调函数、Promise、async/...
5. Object.create()与类的概念:了解如何使用`Object.create()`创建对象,以及ES6引入的类(class)语法糖。 三、JavaScript实例与练习 课件中包含的例题部分将帮助学习者通过实践巩固理论知识,可能包括: 1. 基础...
在JavaScript编程中,DOM(Document Object Model)操作是必不可少的,它允许开发者通过JavaScript来修改网页内容。学习如何选择元素、添加和删除节点、以及改变属性和样式,将使你能创建动态网页。 AJAX...
JavaScript是目前前端开发中使用最广泛的编程语言之一,而Object对象是JavaScript中最为基础且核心的概念之一。...对于任何想要深入学习JavaScript的初学者来说,了解和熟悉Object对象都是不可或缺的第一步。
10. **拖放功能**:JavaScript可以实现拖放操作,使得用户能直观地重新排列元素或上传文件。 11. **地理定位**:利用浏览器的Geolocation API,JavaScript可以获取用户的地理位置信息,用于地图服务或其他相关应用...
5. **数组操作**:JavaScript中的数组提供了丰富的操作方法,如push、pop、shift、unshift、splice等,熟悉这些方法能提高代码效率。 6. **事件处理**:JavaScript常用于实现页面的交互效果,如按钮点击、表单验证...
JavaScript语法以流行的程序设计语言C、C 和Java为基础,因此,经验丰富的程序设计人员可以很快地熟悉和掌握。此外,JavaScript是一种解释性脚本语言,提供了比其他语言更加灵活、更加宽松的程序设计环境,程序设计...
熟悉DOM树的概念以及选择器API(如getElementById、getElementsByClassName等)是进行页面交互的关键。 四、事件处理 JavaScript的事件处理机制让网页具有了用户交互性。事件是用户或浏览器执行的特定动作,如点击...