8.1 js 第六天

面向对象   (oop)  

对象 :对象是一个泛指  

类 :把对象具体划分 (通过特征或者一些属性)

实例  某一类中的具体一个事物

JS中一些内置类 (类名字大写)

Number  每个数字和NaN都是他的实例

String  字符串是他的实例 Boolean  true false实例    Null :null    Undefined:undefined

Object : Arrary:数组类   Date:日期类

Function:函数 

var arr1 = []

var arr = new Array()

通过【new关键词】new这个Array的数组类【构造函数】来创建数组【所以创建数组的两种方法 一个字面量方法  一个new】

new Array(参数) 如果第一个参数是数字 且只有一个参数 的时候代表的是长度    如果多个参数代表的是数组元素   

 

var num = 1   var num1 = new Number(1)/这个num1打印是一个对象

一个字面量  一个构造函数方式 

构造函数和普通函数区别   (构造函数执行都会创建一个空对象  然后this指的是空对象)

通过new关键词来执行函数的这种模式叫做构造函数模式   返回值是一个对象 如果return出的不是一个对象或者没有return   就会返回一个空对象    

  构造函数中的this指的是实例

构造函数如果没有参数可以不写括号,但是写了比较好   

构造函数其实就是个类   构造函数执行和普通函数执行相似  不和实例有关系  构造函数中的this都是指的实例 相当于给实例增加了一个属性或者方法      构造函数返回的是一个对象(堆内存)

检测数据类型方法

instanceOf :         console。log(【 】 instanceOf  Array)  // true  检测这个实例是否属于这个类

 

原型   函数天生自带属性 prototype (翻译过来是原型的意思   原型是个对象类型的值,原型是给实例提供公用的实例和方法)

prototype是对象类型  浏览器为之开辟一块堆内存 

prototype自带属性constructor(构造函数的意思)   构造函数指向当前函数自身  

对象天生自带一个属性叫 __proto__(隐形原型)

 __proto__相当于本实例    所属   类   的prototype 

var arr = new Array()
console.dir(arr)
console.dir(Array)
 function People(name,age){
     this.name=name;
     this.age = age;
    //  this.say=function(){
    //      console.log('this is name'+name)
    //  }

 }
 People.prototype.say=function(){
     console.log('helloworld')
 }
 var ljp = new People('李金鹏',20)
 console.dir(People)
 console.dir(ljp)
 ljp.say()

 函数的三种角色    1 普通函数 2 对象(属性和方法) 3 类(构造函数)

以及查看js运算符优先  https://www.cnblogs.com/yy-hh/p/4624792.html

 
function Foo(){
    getName=function(){
        console.log(1)
    }
    return this;
}
Foo.getName=function(){
    console.log(2)
}
Foo.prototype.getName=function(){
    console.log(3)
}
var getName =function(){
    console.log(4)
}
function getName(){
    console.log(5)
}
Foo.getName();//2
getName()//4
Foo().getName()//1
new Foo.getName()//2
new Foo().getName()//3
new new Foo().getName();//3
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值