其他分享
首页 > 其他分享> > 原生js构造函数及其对象 学习总结

原生js构造函数及其对象 学习总结

作者:互联网

js构造函数及其对象

ES5

function Person(age) {
	this.name = '张三'
	this.age = age
	this.talk = function () {
		alert('hello')
	}
}
const obj1 = new Person(18)

注意:如果直接在构造函数中使用this创建对象的方法,每一个对象都会有各自的原始方法,但是这样一来就会占用多个函数空间。
解决办法:可以使用prototype空间来存放公共使用的对象方法。节省空间。

Person.prototype.talk = function(){}

对象的__proto__指向其构造函数的原型prototype,对象可以通过这个成员查找使用先前定义在原型里的共享方法或属性。
在__proto__中有一个constructor,指向这个对象的构造函数
instanceof:用来判断一个对象是某个构造函数实例化的对象
字面量定义的化返回false,因为只是一个类型值,不是new出来的对象
对象 instanceof 构造函数

使用构造函数封装dom操作思路:
1.构造函数中定义属性,属性包括需要操作的dom元素,这些dom元素可以是构造函数接受的参数
2.在原型中定义方法,方法中使用this.属性调用需要操作的dom
3.在需要使用时用new实例化新的对象

ES6

新增class
class可以理解为构造函数的语法糖
class中声明函数不用加function
class中的constructor方法是实例化对象时调用的默认方法

静态方法:class中,在声明前加上static关键字

static sum(a, b) {
	console.log(a + b)
}

标签:原生,__,对象,js,实例,构造函数,class,属性
来源: https://www.cnblogs.com/yoe-note/p/16587911.html