![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
原型/继承
苏喂苏喂苏喂su
专注前端开发
展开
-
原型
写1个方法使下面的方法可以执行并得出相应的结果const a = [1, 2, 3, 4, 5]a.multiply()console.log(a) // [1, 2, 3, 4, 5, 1, 4, 9, 16, 25]思路:要求数组a调用multiply方法得出相应的结果,首先需要让a拥有multiply方法。那就需要将multiply方法添加到数组原型中,这样所有数组都能调用到...原创 2020-03-02 17:22:53 · 278 阅读 · 0 评论 -
JavaScript原型链和继承
首先来理清楚原型链里面的prototype和__proto__这两个要素,下面来一个例子<script> Person.prototype.name = "xiaomi"; function Person() { } Toni.prototype.name = "heheda"; function Toni() { ...原创 2019-03-26 23:29:37 · 132 阅读 · 0 评论 -
JavaScript调用原型方法
定义在prototype的公有属性和方法,需要new一个实例之后才能使用。如: function Foo() { getName = function() { alert(1); } } Foo.prototype.getName = function(){ ...原创 2019-04-20 11:24:49 · 2222 阅读 · 0 评论 -
一个构造函数继承另一个构造函数的原型方法
方法1function Person() {}function Hello() {}Person.prototype.name = "lily";Hello.prototype = Person.prototype;console.log(Person.prototype);console.log(Hello.prototype);这样的继承方式很简单,...原创 2019-05-15 23:50:06 · 759 阅读 · 0 评论 -
hasOwnProperty方法in操作符的用法和区别
hasOwnProperty(propertyName)该方法用于检查既定的属性在对象实例中是否存在,作为参数的属性名必须是字符串类型。如:let obj = { a: 'a1', b: 'b2'}Object.prototype.c = "c3";console.log(obj.hasOwnProperty("a")) // trueconsole...原创 2019-06-20 23:24:38 · 319 阅读 · 0 评论 -
Object.getPrototypeOf
该方法返回指定对象的原型如:demo1:function Bar() {}let obj = new Bar();console.log(Object.getPrototypeOf(obj) == Bar.prototype) // truedemo2:function Bar() {}Bar.prototype.color = "green...原创 2019-07-07 18:23:50 · 2324 阅读 · 0 评论 -
isPrototypeOf
isPrototypeOf是用于检测一个对象是否存在于另一个对象的原型链上示例:function Bar() {}let obj = new Bar();let obj2 = {}console.log(Bar.prototype.isPrototypeOf(obj)) // trueconsole.log(Bar.prototype.isPrototypeOf(ob...原创 2019-08-04 18:48:20 · 193 阅读 · 0 评论 -
访问一个对象的属性时,js引擎内部的查找过程
访问一个对象时,js引擎内部的查找过程,会按以下顺序进行查找:首先在自身的对象查找,如果有,就返回。 如果对象自身没有,就去对象所属的构造函数进行查找,如果有就返回。 如果在对象所属的构造函数中没有找到,就去构造函数的原型(链)上进行查找。 如果在整个原型链都查找完毕时,仍然找不到目标属性,就会返回undefined。示例:demo1:印证上述第一点function B...原创 2019-08-04 21:28:31 · 508 阅读 · 0 评论 -
定义函数:hasPrototypeProperty用于判断既定属性是否存在对象的原型中
let obj = { a: 'a1', b: 'b2'}Object.prototype.c = "c3";function hasPrototypeProperty(obj, property) { return !obj.hasOwnProperty(property) && property in obj}console.log(...原创 2019-08-04 23:42:24 · 746 阅读 · 1 评论