自己理解的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 ...
随机推荐
- 一个自定义的窗体样式MessageBox控件
using System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Dr ...
- iOS-MVC详解
MVC与模板概念的理解 MVC(Model View Controller)模型-视图-控制器 MVC本来是存在于Deskt op程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC 的 ...
- NSDictionary 、 NSMutableDictionary
1 重构学生与学校的练习 1.1 问题 本案例要求用字典解决下述问题.问题是:有一个学校,该学校有两个学院,每个学院中又有两个班级,而在每个班级中有两名学生. 现在作如下要求: 1)显示所有学生的信息 ...
- LeetCode Binary Tree Paths(简单题)
题意: 给出一个二叉树,输出根到所有叶子节点的路径. 思路: 直接DFS一次,只需要判断是否到达了叶子,是就收集答案. /** * Definition for a binary tree node. ...
- win7 通过命令行压缩文件
1,下载winrar这款软件(可能要正式版) 2,安装完之后在c:\programe files里找到winrar目录,复制winrar目录里的winRar.exe文件到c盘下的windows目录 3 ...
- ion-tap选项卡及路由结合ion-tap
ion-tabs简介 <!DOCTYPE html> <html ng-app="ionic"> <head> <meta name=&q ...
- Codeforces Round #303 (Div. 2) B 水 贪心
B. Equidistant String time limit per test 1 second memory limit per test 256 megabytes input standar ...
- left join测试验证之一
$ sqlite3 a.dbSQLite version 3.8.1 2013-10-17 12:57:35Enter ".help" for instructionsEnter ...
- 监听turtlesim仿真器,发送数据到实际的机器人--20
摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 1.0.本教程教你写实际的ros程序,控制自己的机器人.采用的是PC端的ubuntu+ros.终 ...
- Docker安装及基本使用方法
Docker安装 CentOS6上安装Docker # yum -y install epel-release # yum -y install docker-io CentOS7上安装Docker ...