初次接触mootools
以下是今天所学代码,网上有这篇博客可供参考,另外还是推荐官方文档 ,以下是今天所敲代码:
//用mootools创建类的方式:
//方式1:用标准方式传入一个对象字面量
/* var Person = new Class({
initialize:function(name,age){
this.name=name;
this.age=age;
},
log:function(){
console.log(this.name+","+this.age);
}
});
var mark = new Person("Tom",20);
mark.log();
*/
//方式2:传入一个普通函数然后用implement方法对类进行扩展:
/* var Person = new Class(function(name,age){
this.name=name;
this.age=age;
});
//用implement惊醒扩展:
Person.implement("log",function(){
console.log(this.name+","+this.age);
});
var mark=new Person("cat",22);
mark.log();
*/
//想扩展多个就多次使用implement
/*
var Person = new Class(function(name,age){
this.name=name;
this.age=age;
});
//用implement多次扩展:
Person.implement("getname",function(){
console.log(this.name);
});
Person.implement("getage",function(){
console.log(this.age);
});
var mark=new Person("cat",22);
mark.getname();
mark.getage();
*/
//上述用implement进行扩展每次只能扩展一个,想扩展多个可用字面量的方式
/*
var Person = new Class(function(name,age){
this.name=name;
this.age=age;
});
//用字面量的方式用implement扩展:
Person.implement({
"getname":function(){ //注意:getname 加不加分号都行
console.log(this.name);
},
"getage":function(){
console.log(this.age);
}
});
var mark=new Person("cat",22);
mark.getname();
mark.getage();
*/
/*
mootools中为对象添加属和方法用implement,
为类添加属性和方法用extend
注意:
实例不能调用为类创建的方法
类不能直接调用为实例创建的方法
类可以通过 类名.prototype.实例上的方法
*/
/*
var Person = new Class(function(name,age){
this.name=name;
this.age=age;
});
Person.implement({
instancemethod:function(){
console.log("这是实例方法");
}
});
Person.extend({
classmethod:function(){
console.log("这是类方法");
}
});
var mark = new Person("jack",33);
mark.instancemethod();
//mark.classmethod(); //出错,实例不能调用类上的方法
Person.classmethod();
//Person.instancemethod();//出错,类不能嗲用实例上的方法
//可通过prototype的方式调用:
Person.prototype.instancemethod();
*/
//私有成员
// 用闭包为类创建私有成员
/*var Person = (function(){
//私有变量
var privatevalue = 0;
//私有方法
var privatemethod = function(name){
return name;
}
return new Class({
initialize:function(name,age){
this.name = name;
this.age = age;
privatevalue++;//使用外部的privatevalue形成闭包
},
//共有方法
log:function(){
console.log(privatemethod(this.name)+","+this.age);
},
getprivatevalue:function(){
return privatevalue;
}
});
})();
var mark = new Person("mark",24);
mark.log();
console.log(mark.getprivatevalue());
//console.log(mark.getprivatevalue());
*/
//继承
/*
//创建一个基类:
var Animal = new Class({
initialize:function(age){
this.age=age;
}
});
//创建一个子类:
var Cat = new Class({
Extends:Animal,
initialize:function(name,age){
this.parent(age);//使用基类中的
this.name=name;
}
});
var cat = new Cat("rose",20);
console.log(cat.name);
console.log(cat.age);
*/
//用Extends实现了(单)继承
/*
var Fa = new Class({
add:function(a,b){
return a+b;
},
sub:function(a,b){
return a-b;
}
});
var Son = new Class({
Extends:Fa,
mul:function(a,b){
return a*b;
}
});
var son1 = new Son();
console.log(son1.add(1,2));
console.log(son1.sub(1,2));
console.log(son1.mul(1,2));
*/
/*var Fa = new Class({
add:function(a,b){
return a+b;
}
});
var Fa2 = new Class({
add:function(a,b){
return a-b;
}
});
var Son = new Class({
Implements:Fa2,
Extends:Fa //两者没有严格的优先级,后面的总能重写前面的
});
var son1 = new Son();
console.log(son1.add(1,2));*/
初次接触mootools的更多相关文章
- 初次接触json...
这两天发现很多网站显示图片版块都用了瀑布流模式布局的:随着页面滚动条向下滚动,这种布局还会不断加载数据并附加至当前尾部.身为一个菜鸟级的程序员,而且以后可能会经常与网站打交道,我觉得我还是很有必要去尝 ...
- 初次接触GWT,知识点总括
初次接触GWT,知识点概括 前言 本人最近开始研究 GWT(Google Web Toolkit) ,现将个人的一点心得贴出来,希望对刚开始接触 GWT的程序员们有所帮助,也欢迎讨论,共同进步. 先说 ...
- [Docker]初次接触
Docker 初次接触 近期看了不少docker介绍性文章,也听了不少公开课,于是今天去官网逛了逛,发现了一个交互式的小教程于是决定跟着学习下. 仅仅是把认为重点的知识记录下来,不是非常系统的学习和笔 ...
- 初次接触:DirectDraw
第六章 初次接触:DirectDraw 本章,你将初次接触DirectX中最重要的组件:DirectDraw.DirectDraw可能是DirectX中最强大的技术,因为其贯穿着2D图形绘制同时其帧缓 ...
- 初次接触scrapy框架
初次接触这个框架,先订个小目标,抓取QQ首页,然后存入记事本. 安装框架(http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/install.html) ...
- javaweb中的乱码问题(初次接触时写)
javaweb中的乱码问题 在初次接触javaweb中就遇到了乱码问题,下面是我遇到这些问题的解决办法 1. 页面乱码(jsp) 1. 在页面最前方加上 <%@ page language=&q ...
- 初次接触Java
今天初次接触Eclipse,学着用他来建立java工程,话不多说,来看看今天的成果! 熟悉自己手中的开发工具,热热身 刚上手别慌,有问题找度娘 刚刚拿到这个软件的安装包我是一脸懵逼的,因为是从官网下载 ...
- -1.记libgdx初次接触
学习一门技术最难的是开发环境变量配置和工具配置,以下为我初次接触libgdx时遇到的问题 几个难点记录下 gradle 直接用下到本地,然后放到d盘,链接到就行(gradle-wrapper.prop ...
- tensorflow初次接触记录,我用python写的tensorflow第一个模型
tensorflow初次接触记录,我用python写的tensorflow第一个模型 刚用python写的tensorflow机器学习代码,训练60000张手写文字图片,多层神经网络学习拟合17000 ...
随机推荐
- CLR via C#深解笔记七 - 自动内存管理(垃圾回收)
每个应用程序都要使用这样或者那样的资源,比如文件.内存缓冲区.屏幕空间.网络连接.数据库资源等.事实上,在面向对象的环境中,每个类型都代表可供程序使用的一种资源. 要使用这些资源,必须为代表资源的类型 ...
- mysql日期类型默认值'0000-00-00'容错处理
mysql日期默认值'0000-00-00'惹的祸 .net连mysql数据库时,如果表里有字段是日期型且值是‘0000-00-00’时,会报错.在C#里面日期不可能是那样的.或许是最小日期定义的差别 ...
- DSP中CMD文件
DSP中CMD文件 (2012-12-26 20:54:17) 转载▼ 标签: 杂谈 分类: DSP FPGA DSP的存储器的地址范围,CMD是主要是根据那个来编的.CMD 它是用来分配rom和ra ...
- QPaintDevice: Cannot destroy paint device that is being painted
在paintEvent中,使用QPainter * 绘制图像出现此问题.解决: 1.改为不使用QPainter指针. 2.添上begin(), end() QPainter * painter = n ...
- Ciel and Robot
C. Ciel and Robot time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- Android Studio NDK 学习之接受Java传入的Int数组
本博客是基于Android Studio 1.3 preview版本,且默认你已经安装了Android SDK, Android NDK. 用Android Studio新建一个工程叫AndroidJ ...
- [LeetCode] Fraction to Recurring Decimal 哈希表
Given two integers representing the numerator and denominator of a fraction, return the fraction in ...
- SNF开发平台WinForm之八-自动升级程序部署使用说明-SNF快速开发平台3.3-Spring.Net.Framework
9.1运行效果: 9.2开发实现: 1.首先配置服务器端,把“SNFAutoUpdate2.0\服务器端部署“目录按网站程序进行发布到IIS服务器上. 2.粘贴语句,生成程序 需要调用的应用程序的Lo ...
- zoj 3261 Connections in Galaxy War
点击打开链接zoj 3261 思路: 带权并查集 分析: 1 题目说的是有n个星球0~n-1,每个星球都有一个战斗值.n个星球之间有一些联系,并且n个星球之间会有互相伤害 2 根本没有思路的题,看了网 ...
- Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解
作为重量级的跨平台开发的游戏引擎,Cocos2d-x在现今的手游开发领域占有重要地位.那么问题来了,作为Cocos2dx的学习者,它的可移植特性我们就需要掌握,要不然总觉得少一门技能.然而这个时候各种 ...