javascript 自定义类
在写网页的时候,有大量的onclick,自己写着都担心不小心把两个函数名写重名了。javascript能不能像c++、java那样,先写个类,比如classHome{fu...
在写网页的时候,有大量的onclick,自己写着都担心不小心把两个函数名写重名了。
javascript能不能像c++、java那样,先写个类,比如class Home{function func1(){...} function func2(){...} } 然后onclick="Home.func1()"? 展开
javascript能不能像c++、java那样,先写个类,比如class Home{function func1(){...} function func2(){...} } 然后onclick="Home.func1()"? 展开
6个回答
展开全部
js中当然有类的概念,不过就是用function来模拟,对于你的例子我说明如下:
// 定义Home类
function Home(){
//共有成员变量
this.name = "myName";
//私有成员变量
var age = 30;
}
//用原型链方式定义成员函数
Home.prototype.fun1 = function(args){
alert("alert by function1, args is " + args);
}
Home.prototype.fun2 = function(){
alert("alert by function2, there is no args");
}
然后将上面的代码放在一个js文件里,这样做是为了可以共通,作为公共函数。只要在js里引一下就可以了,加入你保存后名字为Home.js:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript" src="Home.js">
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
var home = new Home();
</SCRIPT>
<BODY>
<input type="button" value="test" onclick="home.fun1()">
</BODY>
</HTML>
大概就说到这里。这只是简单的应用,其实js还可以通过原型链来实现继承,总是高级语言的那些特性都可以实现,如果想更深入学习,建议百度一下。
// 定义Home类
function Home(){
//共有成员变量
this.name = "myName";
//私有成员变量
var age = 30;
}
//用原型链方式定义成员函数
Home.prototype.fun1 = function(args){
alert("alert by function1, args is " + args);
}
Home.prototype.fun2 = function(){
alert("alert by function2, there is no args");
}
然后将上面的代码放在一个js文件里,这样做是为了可以共通,作为公共函数。只要在js里引一下就可以了,加入你保存后名字为Home.js:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript" src="Home.js">
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
var home = new Home();
</SCRIPT>
<BODY>
<input type="button" value="test" onclick="home.fun1()">
</BODY>
</HTML>
大概就说到这里。这只是简单的应用,其实js还可以通过原型链来实现继承,总是高级语言的那些特性都可以实现,如果想更深入学习,建议百度一下。
展开全部
javascript没有class关键词。如果怕写乱了函数名,可以使用javascript的匿名函数,如onclick="function() {}"。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
javascript 中没有类的定义,但是你可以使用函数当做类来使用
下面的网址中介绍了几种方式,你可以看一下:
下面的网址中介绍了几种方式,你可以看一下:
参考资料: http://blog.csdn.net/avon520/article/details/3819751
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想多了!你写的时候注意点方法名的命名就行了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方式1: JSON结构对象。
var Home={
var func1:function(a){
alert(a);
},
var func2:function(b){
alert(b);
}
};
调用 Home.func1(参数);
方式2:有点像类,需要 用到 new 关键字 来实例化对象。
function Home(){//这里可看作构造函数,可以附加参数
};
Home.prototype.func1=function(){
};
调用
Home h=new Home();
h.func1();
var Home={
var func1:function(a){
alert(a);
},
var func2:function(b){
alert(b);
}
};
调用 Home.func1(参数);
方式2:有点像类,需要 用到 new 关键字 来实例化对象。
function Home(){//这里可看作构造函数,可以附加参数
};
Home.prototype.func1=function(){
};
调用
Home h=new Home();
h.func1();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询