自己理解的javascript 的对象和类理解
首先需要先理解类和对象的意义,我个人理解如下:
类:对象的抽象化;
对象:类的实体;
javascript中没有class关键字和类的用法,只能用伪类来做类的,所以要用function来定义累的名字;
如:
function myClass(){
this.name="张三";
}
这样myClass方法才能用原型连接 prototype;这样才能扩展此类;
也可以用 new myClass();这个类
javascript中有对象,简单的写法就是
var obj={name:"张三"}
因为obj本身就是一个对象,不能实例化(即不能用new关键字);
我自己从网上找了几个相关例子,自己也写了写,在此粘出代码希望可以更好的理解
var Person=(function(){
function Person(){
this.name='person';
this.age=18;
this.init=function(name,age){
this.name = name;
this.age = age;
}
}
Person.prototype={
k:function(){
alert(this.name)
},
s:function(){
alert(this.age)
}
}
return Person;
})();
var Dog = (function(){
function Dog(){
this.name='dog';
this.age=11;
}
return Dog;
})();
var p = new Person();
//p.k();
p.init('张三',70)
//p.k();
delete p.name;
Dog.prototype = Person.prototype;
Dog.prototype.init=function(name,age){
this.name = name;
this.age=age;
}
var d = new Dog();
//d.k();
Object.extend=function(destination,source){
for(property in source){
destination[property]=source[property];
}
return destination;
}
Object.prototype.extend = function(object){
return Object.extend.apply(this,[this,object])
}
function Rect(){
}
//Rect.prototype=(new Person).extend({
// add:function(){
// alert('add');
// },
// show:function(){
// alert('show')
// }
//});
//var r = new Rect();
//r.show();
//r.k();
function JC(){
}
var j = new JC();
j.extend({
a: function(){
alert('a');
},
d:function(){
alert('d');
}
});
j.a();
自己理解的javascript 的对象和类理解的更多相关文章
- javascript的对象、类和方法
1.类和对象的概念: 1.所有的事物都是一个对象,而类就是具有相同属性和行为方法的事物的集合 2.在JavaScript中建立对象的目的就是将所有的具有相同属性的行为的代码整合到一起,方便使用者的管理 ...
- JavaScript检测对象的类属性
function classof(o) { if(o === null) { return "Null"; } if(o === undefined) { return " ...
- SharePoint JavaScript 客户端对象使用视频教程
本次视频教程是为大家介绍如何使用SharePoint JavaScript客户端对象,包括对于站点.列表.文档库.列表项.文件夹.文件和附件等基本对象的操作,同时,为大家举几个简单的应用的例子,让大家 ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
- JavaScript基于对象(面向对象)<一>类和对象
javascript中一切皆对象,比如:Array,Date.....这些都是对象.javascript中没有class的定义,function既是定义函数,也可以是定义类.function Obj( ...
- Javascript中对象的Obeject.defineProperty()方法-------------(ES5/个人理解)
在讲到Obeject.defineProperty()方法之前先得说明一下ECMAScript中有两种属性:数据属性和访问器属性. 两种属性存在的意义:描述对象属性(key)的一些特性,因为这些属性是 ...
- 深入理解Javascript window对象
首先看我们的源代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> ...
- Effective JavaScript Item 51 在类数组对象上重用数组方法
Array.prototype对象上的标准方法被设计为也能够在其他对象上重用 - 即使不是继承自Array的对象. 因此,在JavaScript中存折一些类数组对象(Array-like Object ...
- JavaScript 浅析数组对象与类数组对象
数组(Array对象) 数组的操作 创建数组方法 添加与修改数组元素 删除数组元素 使用数组元素 遍历数组元素 多维数组 数组相关的函数 concat() join() pop() push() sh ...
随机推荐
- 第一次进div1了
第一次进div1~好激动啊! 上帝依旧那么眷顾我!
- 传智播客JavaWeb day01 快捷键、XML
2015-01-14 一直计划着学习java,今天晚上终于下定决心看了下传智播客朴乾老师的javaweb开发视频day01之第一讲,主要内容是开发工具简单介绍.怎么创建工程.Junit的介绍,我是C# ...
- setTimeout方法
//不建议传递字符串 setTimeout(alert("hello"),1000); //推荐调用方式 setTimeout(function(){alert("hel ...
- Debian 入门安装与配置2
Debian 入门安装与配置2 1. C/C++开发必装软件 atp-get install gcc 这个不用说,用来编译C程序 apt-get install g++ 用来编译C++程序 ap ...
- Cocos2d-x 网络资源
blog: http://www.cnblogs.com/mmidd/tag/Cocos2d-x/ http://blog.csdn.net/u012945598
- java项目上各种小问题
md,出现好几次这种问题,还得上百度? 以此为证,再出现这种问题我就不信想不起来怎么解决!!!----清除不存在jar包 ok,第二个问题: 每个类上有无数个红叉,然而代码并没有问题 解决方案:run ...
- ajax简单后台交互-我们到底能走多远系列(28)
我们到底能走多远系列(28) 1,扯淡 单身的生活,大部分时间享受自由,小部分时间忍受寂寞. 生活有时候,其实蛮苦涩,让人难以下咽.那些用岁月积累起来的苦闷,无处宣泄,在自己的脑海里蔓延成一片片荆棘, ...
- Android关于主线程和非主线程
必须在主线程执行的任务: (1)UI更新 必须在非主线程中执行的任务 (1)Http请求 如执行:ImageHelper.getInstance().loadImageSync(picUrl); 外面 ...
- MySQL 参数autoReconnect=true 解决8小时连接失效
<!-- dataSource加参数 处理mysql 8小时自动断开连接的问题 --> <property name="testWhileIdle" va ...
- 故障模块名称: mso.dll
本人今天早上打开word文档的时候打不开了,反复试了n次也不成,一想八成儿要重新装了,结果我点开详细信息看了一下,看到了“故障模块名称: mso.dll”这个提示,结果我就放到了百度上找了一下,都是只 ...