JavaScript(3)——Object-Oriented Design
自己定义函数
var Winston = function(nickname, age, x, y) {
this.nickname = nickname;
this.age = age + "yrs old";
this.x = x;
this.y = y;
};
引用以定义函数
var winstonTeen = new Winston("Winsteen", 15, 20, 50);
var winstonAdult = new Winston("Mr. Winst-a-lot", 30, 229, 50);
面向对象编程
/*
It is very hard for me to do it at the first time
*/ /*
var faceObj = {
centerX: 100,
centerY: 100
};
*/ //Above code can be instead by next code
var SmileyFace = function(centerX, centerY) {
this.centerX = centerX;
this.centerY = centerY;
}; /*
var drawSmiley = function(faceObj) {
fill(255, 234, 0);
ellipse(faceObj.centerX, faceObj.centerY, 150, 150);
fill(0, 0, 0);
ellipse(faceObj.centerX-30, faceObj.centerY-30, 20, 20);
ellipse(faceObj.centerX+30, faceObj.centerY-30, 20, 20);
noFill();
strokeWeight(3);
arc(faceObj.centerX, faceObj.centerY+10, 64, 40, 0, 180);
};
*/ //the above code can be instead by next code
SmileyFace.prototype.draw = function() {
fill(255, 234, 0);
ellipse(this.centerX, this.centerY, 150, 150);
fill(0, 0, 0);
ellipse(this.centerX-30, this.centerY-30, 20, 20);
ellipse(this.centerX+30, this.centerY-30, 20, 20);
noFill();
strokeWeight(3);
arc(this.centerX, this.centerY+10, 64, 40, 0, 180);
}; SmileyFace.prototype.speak = function(myString) {
text(myString, this.centerX-30, this.centerY+90);
}; var firstFace = new SmileyFace(100, 100);
var secondFace = new SmileyFace(100, 300);
var thirdFace = new SmileyFace(300, 300);
var fourthFace = new SmileyFace(300, 100); //drawSmiley(faceObj);
firstFace.draw();
firstFace.speak("I'm first brother!");
//drawSmiley(secondFace);
secondFace.draw();
secondFace.speak("I'm second brother!");
thirdFace.draw();
thirdFace.speak("I'm third brother!!!");
fourthFace.draw();
fourthFace.speak("I'm fourth brother!");
JavaScript(3)——Object-Oriented Design的更多相关文章
- JavaScript DOM动态创建(声明)Object元素
http://www.cnblogs.com/GuominQiu/archive/2011/04/01/2002783.html 一文提及“等整个页面加载完毕后,根据用户所选的阅读机类型,再用Java ...
- JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...
- 初探JavaScript(一)——也谈元素节点、属性节点、文本节点
Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...
- tips javascript(一)
tips javascript(一) 实现type函数用于识别标准类型和内置对象类型,语法如下: var t = type(obj); function type(o){ if (o === n ...
- 前端开发面试题总结之——JAVASCRIPT(一)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 前端开发面试题总结之——JAVASCRIPT(三)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 前端开发面试题总结之——JAVASCRIPT(二)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
- 前端之JavaScript(二)
一.概述 本篇主要介绍JavaScript的BOM和DOM操作,在前端之JavaScript(一)中介绍了JavaScript基础知识 1.1.BOM和DOM BOM(Browser Object M ...
- 《你必须知道的javascript(上)》- 2.this与对象原型
1 关于this 1.1 为什么使用this 随着你的使用模式越来越复杂,显式传递上下文对象会让代码变得越来越混乱,使用this则不会这样.当我们介绍对象和原型时,你就会明白函数可以自动引用合适的上下 ...
- javascript(1)简介
点击查看代码 ### javascript 1.JavaScript简介 javascript是一种轻量级的脚本语言,可以部署在多种环境,最常见的部署环境就是浏览器, 脚本语言: 它不具备开发操作系统 ...
随机推荐
- NET代码运行在服务器JS运行在客户端
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;usi ...
- HUD2102(基础bfs)
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Java基础--CountDownLatch
CountDownLatch是线程同步辅助类,它允许一个或多个线程wait直到countdown被调用使count为0. CountDownLatch是在java1.5被引入,存在于java.util ...
- Firefox切换页面默认显示语言
重新安装了下Firefox,发现页面语言变为中文,而我的有些脚本是在英文界面录的,因此想把默认语言改为英文. 方法如下: 工具 - 选项 - 语言(选择...),将英文上移到顶部 在做上面的修改之前, ...
- MVC5网站部署到IIS7
server 2008R2+IIS7.5下配置不会出现什么问题,这里记录下在server2008+IIS7下的配置 参考了一下:http://www.cnblogs.com/fcu3dx/p/3773 ...
- Android Studio 搭配 Tortoise SVN 安装问题汇总
(1)Android studio 中想要使用SVN,但是在安装 1.9版本的SVN,会报SVN is too old(实际是太新了)的错误.所以只能下载1.8以下版本 (2)安装svn时,需要手动选 ...
- 数据库监听。数据库一次notify,Activity多次接收
今天项目中发现一个bug: (1)当uri数据库中有更新,会从数据库层DataService中通知应用层,调用notifyChange: mContext.getContentResolver().n ...
- OSI七层网络模型与TCP/IP四层网络模型
1.OSI网络7层模型 网络协议设计者不应当设计一个单一.巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议.这样做使得每个协议的设计.分 ...
- re.match
- oracle DML-(insert、select、update、delete)
一.插入记录INSERT INTO table_name (column1,column2,...) values ( value1,value2, ...); 示例:insert into emp ...