js继承遇到的小问题

这两天在看js继承方面,它不像OC那种传统的类继承。js继承方式还是挺多的。比如:原型继承、原型冒充、复制继承

原型继承

原型继承有点绕,js似乎没有类的概念,构造对象都是用的函数调用来实例化一个对象。函数都有一个prototype属性,如果要继承可以用函数的prototype属性来赋值父类的一个实例,这样就拥有父类的属性和方法


原型冒充

注意call的用法


复制继承


这里面遇到一个问题,在循环遍历extend函数的时候,访问对象属性用的“[ ]”,如果用“.”会报错,其实js对象属性有两种访问形式:“.”和“[ ]",两个有区别,性能方面“.”更高一些。
Obj.key 和 Obj[key] 我的通俗理解: 1、当对象的属性key不确定而是一个变量的时候必须使用[] 2、[]里可以是任意字符串,而. 不能随便 3、使用. 号key可不加引号, 使用[] key有时候需要加引号。

嗯,就写到这里

你可能感兴趣的:(js继承遇到的小问题)