javascript 写类方式之九_js面向对象
程序员文章站
2022-05-06 18:23:42
...
9、YUI的写类方式
这里引入的是YUI 2.7.0版,只需引入yahoo.js。YUI引入了命名空间,类似于java的包。以下yahoo的工具函数包
//定义包名
YAHOO.namespace("test");
//定义类
YAHOO.test.Person = function(name) {
this.name = name;
}
YAHOO.test.Person.prototype.setName = function(name){ this.name = name;}
YAHOO.test.Person.prototype.getName = function(){ return this.name;}
//创建一个对象
var p = new YAHOO.test.Person("jack");
console.log(p.getName());//jack
p.setName('tom');
console.log(p.getName());//tom
//测试instanceof及p.constructor是否正确指向了YAHOO.test.Person
console.log(p instanceof YAHOO.test.Person);
console.log(p.constructor == YAHOO.test.Person);
可以看出除了多了包名,与第三种写类方式 并无区别。
这里引入的是YUI 2.7.0版,只需引入yahoo.js。YUI引入了命名空间,类似于java的包。以下yahoo的工具函数包
- YAHOO.namespace
- YAHOO.lang
- YAHOO.lang.hasOwnProperty
- YAHOO.lang.extend
- YAHOO.lang.augment
- YAHOO.log
- YAHOO_config and YAHOO.env
- YUI Module Names
复制代码 代码如下:
//定义包名
YAHOO.namespace("test");
//定义类
YAHOO.test.Person = function(name) {
this.name = name;
}
YAHOO.test.Person.prototype.setName = function(name){ this.name = name;}
YAHOO.test.Person.prototype.getName = function(){ return this.name;}
//创建一个对象
var p = new YAHOO.test.Person("jack");
console.log(p.getName());//jack
p.setName('tom');
console.log(p.getName());//tom
//测试instanceof及p.constructor是否正确指向了YAHOO.test.Person
console.log(p instanceof YAHOO.test.Person);
console.log(p.constructor == YAHOO.test.Person);
可以看出除了多了包名,与第三种写类方式 并无区别。
推荐阅读
-
JavaScript 面向对象的之私有成员和公开成员_js面向对象
-
javascript 模式设计之工厂模式学习心得_js面向对象
-
Javascript基础回顾之(三) js面向对象
-
前端笔记之JavaScript面向对象(三)初识ES6&underscore.js&EChart.js&设计模式&贪吃蛇开发
-
重学js之JavaScript 面向对象的程序设计(创建对象)
-
Python入门笔记—第十三章【面向对象之OOP(第九部分,自定义类)】
-
Javascript基础回顾之(三) js面向对象
-
javascript Base类 包含基本的方法_js面向对象
-
javascript类式继承新的尝试_js面向对象
-
JavaScript 面向对象之命名空间_js面向对象