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是一种轻量级的脚本语言,可以部署在多种环境,最常见的部署环境就是浏览器, 脚本语言: 它不具备开发操作系统 ...
随机推荐
- Win10 Bash更改默认用户
Win10已经支持Ubuntu的Bash了. 在cmd中输入bash就可以进入bash界面.但此时是普通用户登录的. 如果希望更改默认的登录用户,可以在cmd中更改. 具体的命令是: lxrun /s ...
- VMware tools的使用
现在的开发环境基本上都是lnmp,所以我们需要在windows下使用虚拟机来搭建开发环境, 但是 在本地写好代码以后,需要上传到虚拟机的运行目录,每次修改都需要上传??? 不存在的!!! 使用Vmwa ...
- PHP7卓越性能背后的原理有哪些?
作者:韩天峰链接:http://www.zhihu.com/question/38148900/answer/75115687来源:知乎 PHP7在运行原理上与PHP5相比并没有变化,这与hhvm不同 ...
- 通过扫码自定义链接安装iOS app,版本更新总结。
1.打包ipa,plist工具:xcode6证书:企业级开发证书 1.1)xcode6开始企业级打包时不在生成plist,需要自己编写:模版见下: <?xml version="1.0 ...
- JSF使用HTML5的custom attribute
只需要在页面引用这样的命名空间: xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"之后,在JSF的控件的html5属性加上前缀&quo ...
- JSF通过超链接传递参数到控制层
JSF通过超链接传输数据到控制层可以分为三个步骤: 1.首先将数据加入到超链接中.通过<h:link>标签加入一个超链接,然后加入<f:param>标签加入参数.示例代码如下: ...
- AngularJS:输入验证
ylbtech-AngularJS:输入验证 1.返回顶部 1. AngularJS 输入验证 AngularJS 表单和控件可以验证输入的数据. 输入验证 在前面的几个章节中,你已经学到关于 Ang ...
- 【Java】java.util.Objects 源码学习
2017-02-10 by 安静的下雪天 http://www.cnblogs.com/quiet-snowy-day/p/6387321.html 本篇概要 Objects 与 Object ...
- Enable SVM while booted from alternate media (ZT)
http://www.seedsofgenius.net/uncategorized/solaris-tips-enable-svm-while-booted-from-alternate-media ...
- AudioTrack
AudioTrack 在Java应用中,管理和播放一个单一的语音资源 The AudioTrack class manages and plays a single audio resource fo ...