javascript面向对象编程
同名公众号 - 人生代码
这个作者很懒,什么都没留下…
展开
-
js小练习
原创 2019-04-18 22:39:27 · 437 阅读 · 0 评论 -
js"黑盒函数"
原创 2019-04-18 22:41:19 · 655 阅读 · 0 评论 -
js推断对象类型
过 arguments 对象跟数组之间的不同之处。但二者之间具体应该如何区分呢?或者我们换一种问法:既然数组的 typeof 返回值也为"object",那么要如何区分对象与数组呢?答案是使用 Object 对象的 toString()方法。这个方法会返回所创建对象的内部类名。Object.prototype.toString.call({});“[object Object]”Ob...原创 2019-04-18 22:55:46 · 544 阅读 · 0 评论 -
toString 属性来自于哪里
如何判断一个对象的某个原型属性到底是原型链中的哪个原型的属性呢?答案仍然是使用 hasOwnProperty()属性。例如,我们想知道 toString 属性来自于哪里:toy.toString();“[object Object]”toy.hasOwnProperty(‘toString’);falsetoy.constructor.hasOwnProperty(‘toSt...原创 2019-04-18 23:00:50 · 606 阅读 · 0 评论 -
枚举属性
如果想获得某个对象所有属性的列表,我们可以使用 for-in 循环。在第 2 章:基本数据类型、数组、循环及条件表达式中,我们已经知道了如何使用该循环来遍历数组中的所有元素。当时我们提到,for 更适合数组而 for-in 更适合对象。让我们以构造 URL字符串为例:var params = {productid: 666,section: 'products'};var url ...原创 2019-04-18 23:06:25 · 708 阅读 · 0 评论 -
isPrototypeOf()方法
每个对象中都会有一个 isPrototypeOf()方法,这个方法会告诉我们当前对象是否是另一个对象的原型。让我们先来定义一个简单的对象 monkey:var monkey = { hair: true, feeds: 'bananas', breathes: 'air'};然后,我们再创建一个叫做 Human()的构造器函数,并将其原型属性设置为指向monkey:funct...原创 2019-04-18 23:08:57 · 972 阅读 · 0 评论 -
神秘的__proto__链接
现在,我们已经了解了当我们访问一个在当前对象中不存在的属性时,相关的原型属性就会被纳入查询范围。下面让我们改写一下那个用 monkey 对象做原型的 Human()对象构造器。> var monkey = { feeds: 'bananas', breathes: 'air'};> function Human() {}> Human.prototype = mo...原创 2019-04-18 23:11:19 · 500 阅读 · 0 评论