文档章节

js 类的简单实现与调用

帝江
 帝江
发布于 2016/06/15 20:26
字数 264
阅读 4
收藏 0

js类的简单实现与调用

先上一段小代码.里面有注释.

<html>
<script>
function people(name) {
	this.name = name;
	this.version = 0;
	
	//展示name
	this.showName = function() {
		alert('my name is ' + this.name);
	}
	
	//设置name
	this.setName = function(name) {
		this.version++;
		this.name = name;
		
	}
	
	//获取name
	this.getName = function() {
		return this.name;
	}
	
}

//这种形式定义的方法不能使用类的属性
people.run = function() {
	alert('I can run');
}

//原型方法,可以使用类的属性
people.prototype.showMyName = function() {
	if(this.version > 0) str = '我改名字了。现在叫 ' + this.name;
	else str = '我的名字叫 ' + this.name;
	alert(str);
}


function dog() {
	this.name = false;
	this.master = false;
	
	this.setName = function(name) {
		this.name = name;
	}
}

dog.prototype.getName = function() {
	return this.name;
}

dog.prototype.setMasterName = function(master) {
	this.master = master;
}

dog.prototype.getMasterName = function() {
	return this.master;
}

//测试
var p = new people('Jim');
p.showName();

var d = new dog();
d.name = '旺财';
alert(d.getName());

d.setMasterName(p.getName());

alert(d.getMasterName());
alert(d.name + ' 的主人是 : ' + d.master);

alert(d.getName() + ' 的主人是 : ' + d.getMasterName());
</script>
</html>

js里面没有严格的类.只有一层一层的function.理论上有无限层.

js继承

   

<script>
    function base(aa) {
        this.aa = aa;

        function get_aa() {
            return this.aa;
        }
    }

    function sun() {
        function show() {
            return 'I am sun show';
        }
    }

    sun.prototype=new base('hello world');
    
    alert(sun.get_aa()); //输出 hello world
    alert(sun.show());   //输出 I am sun show
</script>

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
帝江
粉丝 1
博文 4
码字总数 423
作品 0
济南
程序员
JavaScript和Lua的类继承

javascript 本身虽是一门面向对象的编程语言, 但并没有明确提供继承方式.二十多年间,众多高手提供很多模拟继承的实现, 主要的有:对象冒充,call/apply,prototype,以及深复制等. 网上有很多此类...

南苑听风
2014/10/31
0
3
​基于 WKWebview 进行二次封装的 WebView - KSWebView

KSWebView,最好的 WKWebView 继承者。 KSWebView是基于WKWebview进行2次封装的WebView。 KSWebView具有: 用JS语句的方式调用原生类/对象,方便快捷,老板提出来的临时需求也能马上解决的方...

kinsunlu
08/30
0
0
从Android到React Native开发(二、通信与模块实现)

大家吼,(◐‿◑)作为失踪人口回归,这次第二期,就让我们来怼React Native的通信,快速实现单独的React Native模块到APP里,愉悦吧骚年。至于为什么要有这期?当然是为了愉悦的飙车啦ε-...

carguo
08/22
0
0
weex eros框架源码解析

weex eros是基于alibaba weex框架进行二次封装的客户端跨平台开发框架,主要是为前端开发者(可以不用熟悉客户端开发)提供的一站式客户端app开发解决方案。官网地址为:https://bmfe.github...

雅爸学技术
05/27
0
0
React Native实现js调用安卓原生代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011068702/article/details/82719163 1 问题 实现js调用安卓原始代码,直接上代码,简单粗暴 2 代码实现 1) 实...

chenyu_insist
09/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

web打印控件 LODOP的详细api

web打印控件 LODOP的详细api

wangxujun59
42分钟前
2
0
从一次小哥哥与小姐姐的转账开始, 浅谈分布式事务从理论到实践

分布式事务是个业界难题,在看分布式事务方案之前,先从单机数据库事务开始看起。 什么是事务 事务(Transaction)是数据库系统中一系列操作的一个逻辑单元,所有操作要么全部成功要么全部失...

中间件小哥
44分钟前
6
0
荣登Github日榜!微信最新开源MMKV

MMKV 开源当日即登Github Trending日榜,三日后荣登周榜。MMKV 在腾讯内部开源半年,得到公司内部团队的广泛应用和一致好评。 MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序...

腾讯开源
54分钟前
3
0
前端取色工具:jcpicker

http://annystudio.com/software/colorpicker/#jcp-download

轻量级赤影
56分钟前
1
0
Swift - 将图片保存到相册

import Photos func loadImage(image:UIImage) { UIImageWriteToSavedPhotosAlbum(image, self, #selector(saveImage(image:didFinishSavingWithError:contextInfo:)), ni......

west_zll
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部