前端技术(JavaScript)学习笔记(二)自定义对象以及JavaScript中的异常处理

0、JavaScript对象,在js中对象被看做是属性的容器,即js中的对象中包含了诸多属性。需要注意的是,在java中的对象(类)中可能有属性(变量)也有方法。其实在js对象中除了相关属性外,也有方法,只不过对于Javascript而言,对象中方法也是以属性存储的而已。

1、javascript中自定义对象语法一。具体情况如下代码及其中的注释语句

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
//          定义employee是一个对象,换言之,即是在javascript中的去创建对象   通过 new关键字创建对象
//          在javascript中可以先去创建对象,然后再向对象中添加属性和方法
            var employee =new Object();
//          给employee对象添加一个empno这个属性,其值是8899;
            employee.empno=8899;
//          给employee对象添加一个属性ename,其值刘备
            employee.ename="刘备";
//          js中对象中的方法是以属性存储的,所以如下代码是给employee对象添加一个属性print,但是这个属性的值确实一个方法,所以print即是一个方法了
            employee.print=function(){
                document.write(employee.empno+"---&gt;"+employee.ename);
            };//注意这里有一个分号,就像一条定义变量的语句一样,var a=10;。所以这里必须有一个分号
//          为employee对象添加toS方法,方法的功能是在页面画出当前对象empno值和name值
            employee.toS=function(){
                document.write(employee.empno+"&lt;---&gt;"+employee.ename)
            }
            /*
            document.write(typeof employee);
            对象名.属性名访问对象中的属性
            document.write(employee.empno);
            document.write(employee.ename);
            */
//          方法调用,直接通过对象名.方法名调用即可
            employee.print();
            employee.toS();
        </script>
    </head>
    <body>
    </body>
</html>

2、javascript中自定义对象语法二。具体情况如下代码及其中的注释语句

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/study.js"></script>
        <script type="text/javascript">
//          JavaScript中的对象是属性的容器
            var name="刘备";
//          在JavaScript中定义对象  对象名User
            var User={
                userid:"liubei",
                password:"admin",
                address:"三国",
//              注意:在这种对象的创建方法中,对象中的方法也是以属性形式储存的.
                show:function(){
                    document.write("show method is running......");
                }
            };
//          访问对象中的属性  对象名.属性名;或者对象名["属性名"]
//          document.write(User.password+"&nbsp;"+User.userid+"&nbsp;"+User["address"]);
        </script>
    </head>
    <body>
    </body>
</html>

实验:将上一节中的案例代码及作业定义在对象中
参考代码如下:

var MyMath={
    auther:"Rock",
    createTime:"20180425",
    jiShuHe:function(min,max){
        var sum=0;
        for(var i=min;i<=max;i++){
            if(i%2!=0)
                sum+=i;
        }
        /*
        因为JavaScript是若类型的编程语言,所有在定义方法时无需指定方法的返回值,若希望给调用者一个结果数据的话
        可以在合适的地方直接通过return返回结果数据即可
        */
        return sum;
    },
    printKouJue:function(){
        for(var i=1;i<10;i++){
            for(var j=1;j<=i;j++){
                var result=j*i;
                if(result<10&& j!=1)
                    result="&nbsp;&nbsp;"+result;
                document.write(j+"*"+i+"="+result);
                document.write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
            }
            document.write("<br/>");
        }
    }
};

3、JavaScript中的异常处理
语法:
try{
可能会出现错误的代码块 //通过throw 向外部抛出错误信息,这个错误信息会存储在catch的err中 。当然,try体中的代码如果是没有出错,那么catch体中的代码将不会执行
}
catch(err){
异常处理的代码块
}

案例代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            function testException(legs){
                try{
                    if(legs<0) throw "动物腿的数量不能为负值";
                    if(legs>1000){
                        throw "动物腿的数量能有那么多吗?";
                    }
                    else throw "动物腿的数量合法";
                }
                catch(err){
                    document.write(err);
                }
            }
            testException(-10);
        </script>
    </head>
    <body>
        <span></span>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            function messsage(){
                try{
                    gout();//注意这个方法是不存在的,所以在调用这个方法时会抛出一个错误
                }
                catch(err){
                    alert("方法不存在");
                }
            }
            messsage();
        </script>
    </head>
    <body>
    </body>
</html>

猜你喜欢

转载自blog.csdn.net/dl0246/article/details/80104275
今日推荐