用面向对象的Javascript来介绍一下自己

看了一道题目《用面向对象的Javascript来介绍一下自己》,然后自己觉得挺好玩的,所以就编写如下的代码。

// HELPER
function extend(sup, overrides) {
	var sub = overrides && overrides.constructor || function() {
		sup.apply(this, arguments);
	};
	var fn = function() {};
	var subp;
	fn.prototype = new sup;
	subp = sub.prototype = fn.prototype;
	subp.constructor = sub;
	apply(subp, overrides);
	sub.superClass = sup.prototype;
	return sub;
}

function apply(o, c) {
	if (o && c && typeof c == 'object') {
		for (var p in c) {
			o[p] = c[p];
		}
	}
	return o;
}

function FrontEnder() {
	this.skills = ['HTML', 'CSS', 'JavaScript'];
}

apply(FrontEnder.prototype, {
	code: function() {
		console.log('我能编写处理业务逻辑代码');
	},
	paint: function() {
		console.log('我能还原设计稿');
	},
	debug: function() {
		console.log('我能使用工具调试代码');
	}
});

var Me = extend(FrontEnder, {
	constructor: function() {
		// 个人的性格是怎么样的?等完善
		var _character = '';
		return function Me(config) {
			config = config || {};
			Me.superClass.constructor.call(this);
			this.skills = this.skills.concat(['HTML5', 'CSS3', 'Grunt', 'Zepto', 'Webapp', 'ChromeDevtool']);
			apply(this, config);
		}
	}(),
	paint: function() {
		Me.superClass.paint.call(this);
		console.log('我可以用CSS3、HTML5还原设计稿');
	},
	code: function() {
		Me.superClass.code.call(this);
		console.log(function() {
			/**
			1. 根据规范来命名如驼峰、_、$等;
			2. 使用闭包来避免变量污染;
			3. 相同处理逻辑代码抽出来作为一个功能模块;
			4. 避免与HTML、CSS产生耦合;
			5. 注意代码的性能优化
			*/
		}.toString().split('\n').slice(2, -2).toString().replace(/\t/g, '').split(',').join('\n'))
	},
	manage: function() {
		console.log('我有一个属于自己的代码库和记录知识点的博客');
	},
	habit: function() {
		console.log('twitter、HTML5Rock、CSS3-trick、W3.org...');
	},
	enjoy: function() {
		console.log('我喜欢打篮球和看NBA,最喜欢的球员是Steve·Nash');
	}
});

var me = new Me({
	ChineseName: '张楷豪',
	EnglishName: 'monkindey',
	Birthday: '1993-07',
	Email: '[email protected]',
	School: '广东工业大学计算机学院网络工程 11级'
});

console.dir(me);

复制代码到chrome开发者工具中,效果可能会更好点。

时间: 2024-12-28 05:53:45

用面向对象的Javascript来介绍一下自己的相关文章

7个常见Javascript框架介绍

设计开发中的“框架”指一套包含工具.函数库.约定,以及尝试从常用任务中抽象出可以复用的通用模块,目标是使设计师和开发人员把重点放在任务项目所特有的方面,避免重复开发.通俗的讲,框架就是最常用的javascript框架和Web应用框架,当然,还有CSS框架. 下面我们介绍一些比较常见的Javascript框架,高手跳过,才学JS和ajax的朋友则应该好好了解一下. jQuery jquery是一个快速.简洁的JavaScript框架,帮助你简化查询DOM对象,处理事件,制作动画,和处理Ajax交互

全面理解面向对象的JavaScript

转载:http://justcoding.iteye.com/blog/2019293 原文:http://www.ibm.com/developerworks/cn/web/1304_zengyz_jsoo/index.html?ca=drs-#major6 前言 当今 JavaScript 大行其道,各种应用对其依赖日深.web 程序员已逐渐习惯使用各种优秀的 JavaScript 框架快速开发 Web 应用,从而忽略了对原生 JavaScript 的学习和深入理解.所以,经常出现的情况是,

深入全面理解面向对象的 JavaScript

深入全面理解面向对象的 JavaScript (原著: 曾 滢, 软件工程师, IBM,2013 年 4 月 17 日) JavaScript 函数式脚本语言特性以及其看似随意的编写风格,导致长期以来人们对这一门语言的误解,即认为 JavaScript 不是一门面向对象的语言,或者只是部分具备一些面向对象的特征.本文将回归面向对象本意,从对语言感悟的角度阐述为什么 JavaScript 是一门彻底的面向对象的语言,以及如何正确地使用这一特性. 前言 当今 JavaScript 大行其道,各种应用

JavaScript Oriented[探究面向对象的JavaScript高级语言特性]

JavaScript Oriented 探究面向对象的JavaScript高级语言特性 Prologue . JavaScript Introduce 1.  JS Abstract JavaScript是由Netscape公司工程师Brendan Eich研发的脚本语言,经过推广和流行,兼容ECMA-262标准,至今用于描述HTML网页行为.(前端验证,检测,响应,触发,控制等动态行为) Knowledge Tree 2.     About Document 本文涉及到的概念有JavaScr

从面向对象看JavaScript(一)

前言 JavaScript作为一种脚本语言,语法简单(求其),易上手,适合开发:同时,作为当今前端编程方面占据垄断地位,甚至逐步向后端发展的强势语言,它的前景十分美好,功能足够强大.既然是脚本语言,自然没有c,c++,Java等传统语言的严谨,但是利用它仍然可以基本覆盖其他语言能做到的高级功能. 下面我就从面向对象的角度,整合JavaScript里函数,对象,引用类型,原型,闭包,作用域链等知识点,去探讨JavaScript是如何定义对象,构造类,设置属性和函数的私有公有权限,实现继承,利用作用

如何在程序开发项目中选择合适的 JavaScript 框架,节省时间和成本的9款极佳的JavaScript框架介绍

从技术上来看,iOS,Android 和 Windows Phone 上的移动应用是使用不同的程序语言开发的,iOS 应用使用 Objective-C,Android 应用使用 Java,而 Windows Phone 应用使用 .NET. .随着 JavaScript,CSS 和 HTML 知识技能的提升,相信你也可以构建一个超赞的移动应用.在这篇博客里,我们将会介绍一些极好的 JavaScript 移动应用程序开发框架. 说到网络开发,就不得不说 JavaScript,这是一款很有前途的程序

全面理解面向对象的 JavaScript

对象的上下文依赖 var str = "我是一个 String 对象 , 我声明在这里 , 但我不是独立存在的!" var obj = { des: "我是一个 Object 对象 , 我声明在这里,我也不是独立存在的." }; var fun = function() { console.log( "我是一个 Function 对象!谁调用我,我属于谁:", this ); }; obj.fun = fun; console.log( this

前端开发:面向对象与javascript中的面向对象实现(一)

前端开发:面向对象与javascript中的面向对象实现(一) 前言: 人生在世,这找不到对象是万万不行的.咱们生活中,找不到对象要挨骂,代码里也一样.朋友问我说:“嘿,在干嘛呢......”,我:“找不到对象!”,他:“就你那样也能找得到对象?”.我一脸黑线...... 废话不多说,今天博主要跟大家聊的是<面向对象与javascript中的面向对象实现>”. 面向对象理解: 面向对象是一种对现实世界理解和抽象的方法,是一种先进的程序设计理念,是一种比较抽象的,多形态的设计模式.我们可以这么理

《javascript高级程序设计》读书笔记(一)javascript简单介绍

第一章:javascript简单介绍 Netscape Navigator 开发的javascript   Javascript的实现有三部分: 1.核心(ECMAScript):提供核心语言功能. 2.文档对象模型(DOM):提供訪问和操作网页内容的方法和接口. 3.浏览器对象模型(BOM):提供和浏览器交互的方法和接口. Web浏览器仅仅是ECMAScripr实现的可能宿主环境之中的一个. 五大主流Web浏览器(IE,Firefox,Safari,Chrome和Opera) 第二章:在Htm