<html>
<script language="javascript">
function functionA(){
alert('hello');
}
//functionA();//A作为函数来使用
var obj = new functionA();//A作为类来使用
</script>
<script language="javascript">
function ClassName(){
//定义公有变量
this.property1=0;
//定义公有方法
this.method1=function(){
alert('method1');
//判断this.a是否赋值
//if(this.a != undefined){//undefined可以
if(this.a != null){//null也可以
alert(this.a);
alert('!undefined');
}
}
//另外一种方法的定义形式
this.method3 = functionA;
//定义私有成员
var pram1 = 1;
var method2 = function(){
alert('method2');
}
}
//funcA是方法method3的处理函数
function functionA(){
alert('method3');
}
//var obj = new functionA();
//alert('var obj = new functionA()');
var obj2 = new ClassName();
alert('var obj2 = new ClassName()');
obj2.method1();
alert('obj2.method1()');
//obj2.method2();//私有,无法访问
obj2.method3();
alert('obj2.method3()');
obj2.a="hello a";
obj2.method1();
</script>
<script language="javascript">
alert('----------------------');
//类方法重载--JS不支持,但可以利用arguments属性间接完成相同功能
function classA(){
//注意:this.arguments.length是错误的
var num = classA.arguments.length;//classA.可以省略
this.n = classA.arguments.length;
this.method1 = function(){
if(num==0){
alert('0');
}
if(num==1){
alert('1');
}
if(num==2){
alert('2');
//alert(classA.arguments[1]); //未执行----类,不能获取参数值!但函数可以
}
}
}
var obj = new classA();
obj.method1();//0
var obj1 = new classA(5);
obj1.method1();//1
var obj2 = new classA(3,5);
obj2.method1();//2
alert('----------');
</script>
<script language="javascript">
alert('----------------------');
//函数-arguments
function classA(){
var num = arguments.length;
alert(num);
if(num==0){
alert('00');
}
if(num==1){
alert('11');
}
if(num==2){
alert('22');
var t = arguments[0];//接收传入的值
alert(t);
t = arguments[1];
alert(t);
}
}
classA();
//0
classA(5);
//1
classA(3,5);
//2
alert('----------');
</script>
<script>
function testparams()
{
var params="";
for (var i=0;i<arguments.length;i++)
{
params+=" "+arguments[i];
alert(params);
alert("1");
}
}
testparams("abc",123);
testparams(123,456,"abc");
</script>
</html>
JS基本类型方法和类的访问
最新推荐文章于 2021-11-05 16:15:16 发布