Js小姐家的“对象”

目录

概念

原生链示例

对象的类型

对象的创建

对象的继承


概念

大多数面向对象的编程都是通过定义一个类,然后根据类创建的对象。比如上帝要创造一个女同学叫小明,首先要打造一个女生的模型,然后在女生模型的基础上雕刻小明的独有特点。此时小明(对象)的上一级就是一个女生模型(类)。

但Js小姐天生叛逆,她的对象不是从类中创建,而是通过原生链的方式创建的。比如某天她发现某小鲜肉很帅但眼睛不够大,于是她拿来一个小鲜肉添加大眼睛作为自己的“对象”。此时大眼睛小鲜肉(对象)的模型就是一个小眼睛小鲜肉(对象)。

Js中的每个对象都是一个实例,每个对象都有原型。一个对象的原型指向另一个对象,并继承它的属性。

原生链示例:

       创建一个数组arr :    arr  ------->  Array.prototype  -------> Object.prototype  ------>null

       创建一个函数foo:  foo  ------->  Function.prototype ------>Object.prototype  ------->null

       创建一个对象bigeyes :    bigeyes  ------>  smalleyes.prototype ----->Object.prototype ----->null  

  • 对象的类型:

        在Js小姐的世界里,一切都是对象(花痴脸)

        类型:number、string、boolean、function、undefined、object(null、array、{})

        判别:1.typeof  待测类型   ----可判断number、string、boolean、function、undefined(注:object三种无法用typeof分辨)

                   2.object判别:

                          (1)null:待测类型===null

                          (2)数组:Array.isArray(数组)

                   3.特殊判别

                   (1)任意类型可以直接if判断,不必转换成boolean类型

                   (2)判断变量是否存在:

                                  (全局)typeof  window.变量==='undefined'       

                                  (函数内)typeof  变量==='undefined'  

        类型转换

                   1.任意类型--->string:String(任意类型)     或     任意对象.toString()

                      注:null和undefined没有.toString()方法

                             number类型调用时报错,正确使用为:(123).toString()   或    123..toString()

                   2.任意类型--->number:parseInt(任意类型)     parseFloat(任意类型)

                     注:浮点型数据在parseInt()后仍为int类型

        标准对象

                  1.Date

                  2.RegExp(正则表达式)

                  3.JSON(数据交换格式)

  • 对象的创建:

        1.{}的方式

var bigeyes = {
    name:xiao_xian_rou,
    height:183,
    weight:75,
    'middle-school':'No1 school'
    run:function(){
        console.log(this.name+' is running');
    }
};

bigeyes.run();//调用属性 xiao_xian_rou is running

bigeyes.age = 20;//添加属性

delete bigeyes.weight; //删除属性(即使不存在也不报错)

'weight' in bigeyes;//false 判断属性是否存在(包括继承属性)

bigeyes.hasOwnProperty('weight') //false 判断属性是否存在(不包括继承属性)

        2.构造函数

        3.区别

     

  • 对象的继承:

 

(未完......)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值