面向对象&jsonp

面向对象:2种

1.ES6之前的面向对象 函数=》new =>类

如:function Da(name){

this.name = name;

console.log(this.name)

}

new Da('ddd')

2.

如:class Dsk {

constructor(){

console.log(1)

}

show(){

console.log(2)

}

}

new Dsx().show()

 

ReactDOM.render(jsx(组件、内容),放到哪)

 

面向对象 -

js 两种面向对象

 

1.es6之前那种 函数 -new 函数 = 类

类 - constructor

原型 - prototype (所谓的方法)

原型链 - __proto__

 

2.es6=class

constructor - 默认执行的函数

不支持变量提升

 

class 函数名称

函数调用时 默认执行 constructor 函数

constructor - 里面写一些初始的内容

 

原型就是 和 constructor 同级的函数即可

 

继承 extends 可以继承原型和私有属性

如果子类想使用 this

子类constructor 放入super

参数如果想使用 子类参数放入 constructor 和 super 中

 

 

jsonp原理

script标签没有跨域的问题 利用src的callback属性提供一个回调函数,函数的参数就是后台的数据 函数必须出现在页面上

 

创建对象的方式:

对象字面量 : 产生大量重复的代码

2 工厂模式 解决了大量重复的代码

无法解决对象识别:不知道某个对象是由谁创建的

3 构造函数

内部的属性都是写在this关键字下面

调用时需要new关键字

缺点是:构造函数内部的函数,构造函数调用多少次就会创建多少次

优点是可以解决对象识别的问题,可以通过instanceof知道实例是由那个构造函数构造出来的 。

4 原型模式

每一个函数(对象)都有一个原型对象属性(prototype)所有通过这个函数构造出来的实例都会共享原型对象上的属性

5:组合构造函数和原型模式

优点: 解决了大量重复的代码 可以识别实例对象是由那个构造函数构造出来的, 将对象的方法创建在原型对象上面, 每次实例化对象不会创建重复的函数,所有的实例共享同一个原型对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值