var Anim = function() {
};
Anim.prototype.start = function() {
console.log('1');
};
Anim.prototype.stop = function() {
console.log('2');
};
var myAnim = new Anim();
myAnim.start();
myAnim.stop();
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype = {
getName: function() {
return this.name;
},
getAge: function() {
return this.age;
}
}
/* Instantiate the class. */
var alice = new Person('Alice', 93);
var bill = new Person('Bill', 30);
console.log(bill.getAge());
var Student = function(){
this.username = "xiewnbo";
this.number = "1321321321";
}
Student.prototype= {
sayhello:function(){
console.log(this.username);
},
saybye:function(){
console.log(this.number);
}
};
var std = new Student();
std.sayhello();
// Constructor.
var Interface = function(name, methods) {
if(arguments.length != 2) {
throw new Error("Interface constructor called with " + arguments.length +
"arguments, but expected exactly 2.");
}
this.name = name;
this.methods = [];
for(var i = 0, len = methods.length; i < len; i++) {
if(typeof methods[i] !== 'string') {
throw new Error("Interface constructor expects method names to be "
+ "passed in as a string.");
}
this.methods.push(methods[i]);
}
};
// Static class method.
Interface.ensureImplements = function(object) {
if(arguments.length < 2) {
throw new Error("Function Interface.ensureImplements called with " +
arguments.length + "arguments, but expected at least 2.");
}
for(var i = 1, len = arguments.length; i < len; i++) {
var interface = arguments[i];
if(interface.constructor !== Interface) {
throw new Error("Function Interface.ensureImplements expects arguments"
+ "two and above to be instances of Interface.");
}
for(var j = 0, methodsLen = interface.methods.length; j < methodsLen; j++) {
var method = interface.methods[j];
if(!object[method] || typeof object[method] !== 'function') {
throw new Error("Function Interface.ensureImplements: object "
+ "does not implement the " + interface.name
+ " interface. Method " + method + " was not found.");
}
}
}
};
var IActionListener = new Interface("IActionListener",["method1","method2"]);
//接口实例的创建
var oActionListener = {
method1 : function(){
console.log("这是方法1");
},
method2 : function(){
console.log("这是方法2");
}
};
//implements确认
Interface.ensureImplements(oActionListener,IActionListener);
//调用实例中的方法
oActionListener.method1();
分享到:
相关推荐
通用javaScript的验证框架
在"JavaScirpt搜索关键字提示"这个主题中,我们主要讨论的是如何利用JavaScript实现一个搜索关键字的下拉提示功能,这种功能常见于搜索引擎或网站搜索框中,能够为用户提供便捷的搜索建议。 在描述中提到的"中英文...
在本主题中,我们将深入探讨JavaScript的基本语法、事件处理以及window对象。 首先,我们来了解一下JavaScript的基本语法。JavaScript语法与C++和Java有相似之处,但更宽松,它允许在一行内编写多条语句。...
在给定的“javascirpt树形菜单例子”中,我们可以深入探讨以下相关知识点: 1. **DOM操作**:JavaScript树形菜单的实现通常涉及对DOM(文档对象模型)的操作。通过创建、修改或删除DOM元素,我们可以动态地构建和...
在JavaScript中,类(Class)是ES6引入的一种新的语法糖,用来实现面向对象编程。在ES5之前,我们通常使用函数构造器和原型链来模拟类的行为,但ES6的类提供了一种更加简洁、易读的语法,使得代码更接近传统的面向...
JavaScript,简称JS,是Web开发领域中不可或缺的脚本语言,广泛用于网页和网络应用的交互与动态..."javascirpt光盘"这个文件可能包含了各种JavaScript的学习资源和示例代码,建议仔细研读,实践是检验理论的最好方式。
JavaScript是一种广泛应用于网页和网络应用的编程语言,它在网页开发中扮演着至关重要的角色,尤其是在动态交互方面。"JavaScript代码"这个主题涵盖了JavaScript在实际应用中的各种技巧和实例,如描述中提到的联动...
Furious.js 是 AMD 开发的 JavaScirpt 科学计算包,灵感来源于 NumPy。 标签:Furious
JavaScript 是一种广泛应用于网页和网络应用的脚本语言,它在浏览器环境中运行,为用户提供交互式体验。以下是一些JavaScript的小技巧和知识点: ...而 `event.srcElement.tagName` 和 `event.srcElement.type` 分别...
juggle是一个松耦合的JavaScirpt基础组件库。共1374行代码,平均每个组件100行代码,渐进并极易学习使用。包含事件、Tween、mv框架、http、websocket、资源、模块等,按需选择组件,不绑架开发者。
《javascirpt征途》全文pdf链接,130M自己去百度网盘下载 因为文件比较大,无法上传,但是提供分享链接,百度网盘的,自己去下载即可!
echarts_javascirpt
JavaScript是一种广泛应用于网页和网络应用中的编程语言,它在网页动态效果和用户交互方面起着至关重要的作用。本文将深入探讨如何使用JavaScript实现图片切换效果,以提升网站的用户体验。 首先,图片切换效果通常...
... JavaScript是一种强大的客户端脚本语言,用于增加网页的交互性。...ES6(ECMAScript 6)的推出为JavaScript提供了更多现代编程特性,如类、模块、箭头函数等。...CSS(Cascading Style Sheets)则负责网页的样式和布局...
js原生态扩展方法.包含string,array操作
### JavaScript中的对象与继承 #### 一、JavaScript对象的基础概念 在JavaScript中,对象是一种非常重要的数据类型,它能够存储键值对的形式来表示复杂的结构数据。这些键通常被称为属性名,而对应的值则称为属性...
一个包括一小段脚本的html文件.可以自行修改.