JavaScript当中的Object类型

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Object类型</title>
    </head>
    <body>
        <script type="text/javascript">
            /*
                Object类型:
                    1、Object类型是所有类型的超类,自定义的任何类型,默认继承Object.
                    2、Object类型包含的属性:
                        prototype属性(常用的) 其作用是:给类动态的扩展属性和函数
                        constructor属性
                    3、Object类包括哪些函数:
                        toString();
                        valueOf();
                        tolocaleString();
                    4、在JS当中定义的类默认继承Object,会继承Object类中所有的属性和函数,换句话说
                        自己定义的类中也有prototype属性
                    5、在JS当中怎么定义类?怎么new对象?
                        定义类的语法:
                            第一种:
                                function 类名(形参){
                                    
                                }
                            第二种:
                                类名 = function(形参){
                                    
                                }
                        创建对象的语法:
                            new 类名(实参);//类名和构造方法名相同

            */
           function sayHello(){
               
           }
           //把sayHello当做普通函数来调用
           sayHello();
           
           //把sayHello当做一个类来调用创建对象
           var obj = new sayHello();//obj是一个引用,保存的内存地址指向堆中的对象。
           
           //定义一个学生类
           function Student(){
               alert("Student......")
           }
           
           //当做普通类来调用
           Student();
           
           //当做类来创建对象
           var stu = new Student();
           alert(stu);//[object Object]
           
           //在JS当中类的定义和构造函数的定义是放在一起完成的。
           function User(a,b,c){//a,b,c是形参,属于局部变量
               //声明属性this表示当前对象,User类中有三个属性:sno,sname,sage
               this.sno = a;
               this.sname = b;
               this.sage = c;
           }
           //创建对象
           var u1 = new User(111,"zhangsan",30);
           
           //访问对象的属性
           alert(u1.sno);
           alert(u1.sname);
           alert(u1.sage);
           
           //访问一个对象的属性,还可以使用这种语法
           alert(u1["sno"]);
           alert(u1["sname"]);
           alert(u1["sage"]);

           
           //定义类的另一种语法
           Emp = function(ename,sal){
               this.ename = ename;
               this.sal = sal;
           }
           //创建对象
           var e1 = new Emp("lisi",800);
           alert(e1["ename"] + "," + e1.sal);
           
           Product = function(pno,pname,price){
               //属性
               this.pno = pno;
               this.pname = pname;
               this.price = price;
               //函数
               this.getPname = function(){
                   return this.pname;
               }
           }
           
           //创建西瓜对象
           var xigua = new Product(111,"西瓜",2.0);
           alert(xigua.getPname());//西瓜
           
           //可以通过prototype这个属性来给类动态扩展属性以及函数
           Product.prototype.getPno = function(){
               return this.pno;
           }

           
           //调用后期扩展的函数getPno()
           alert(xigua.getPno());//111

           
           
       </script>
    </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值