一、学习内容
构造函数Object,对象中增加的方法 Object.values() //返回值为数组,得到的是对象中的值 Object.Keys() //返回值为数组,得到的是对象中的键 Object.defineProperty(操作的对象名,增加属性名,对象{value:,writable:,enumerable:,configurable: ,}) writable 是否可以修改,默认值是false,不可修改,true可修改 enumerable 是否遍历,默认值是false,不可修改,true可遍历 configurable 是否可被删除,默认值是false,不可删除,true可删除 改变this的几个方法 call()方法 call(添加指向的对象名,可以传参) 改变函数中的this指向 会直接调用函数 fn.call() 参数的转递和之前函数传递一样,用逗号隔开fn.call(函数名,实参1,实参2) apply() 方法 apply(添加指向的对象名,[参数1,参数2]) 直接调用函数 改变函数中的this指向 传参时,第二个参数需要是一个数组类型,里面需要存放函数的参数 apply的简单使用 输出数组中的最大值 bind()方法 改变函数中的this指向 不会直接调用函数,返回一个新的函数 参数的转递和之前函数传递一样,用逗号隔开let fun = fn.bind(函数名,实参1,实参2) disabled 按钮禁用 对象 概念:由属性和方法构成,无需考虑顺序 创建对象 工厂模式 构造函数创建对象(相当于一个模板)把共性抽离出来 构造函数的基本要求,函数名开头使用大写 内部使用this添加属性和方法 不需要使用return关键字(内部会自动返回一个对象) 调用必须使用关键字new new出来的是 实例化 具体的对象 new的时候,我们程序执行下面几步 1. 在内存中创建一个空对象 --{} 2. 确定this指向,指向这个空对象 3. 构造函数内部代码的执行,给这个空对象添加属性和方法 4. 返回这个新的对象, -- 内部自动执行 构造函数中的成员 实例成员-----(实例化对象可以访问的属性或方法) 静态成员-----(只有构造函数才能访问的属性和方法) 构造函数 instanceof 关键字,可判断某个对象是否是某个构造函数的实例化,若是true,否则false 构造函数中的方法 每次实例对象调用的方法都不是同一个函数 每个实例调用这个方法的时候都会在内存中创建一个新的函数 比较占内存 原型对象 (每个函数都有一个原型,它是一个对象,所以也叫他原型对象) 实例化对象的原型_ _proto_ _ 每个实例化对象否有一个属性__proto__,我们可以叫他为对象的原型,它是一个非标准 构造函数的原型prototype prototype属性/对象 构造器constructor, 用于记录对象是由那个函数构造的 用于记录构造函数是由哪一个函数构造的 可以让原型对象重新指向原来的构造函数
二、遇到问题
无
三、是否解决
无
|