对js对象和原型的理解
来源:互联网 发布:清洁面膜有必要吗 知乎 编辑:程序博客网 时间:2024/05/29 04:23
最近进行阶段性总结 又回到了js的对象和原型问题
更加深刻的理解了 js中的万物皆是对象的想法
所以首先你能想到的几种创建对象的方法?
var obj1={ };
var obj2=new Object();
function Parent(){
this.name="liuting";
this.age="22";
this.lev="lev";
}
var x=new parent();
alert(x.name); 这个就是典型的使用构造函数的方式创建对象
构造函数就是初始化一个实例对象
构造函数需要注意的几个事项:
默认函数首字母大写
构造函数并没有显示返回任何东西 new操作符会自动创建给定的类型并返回他们 当调用构造函数时 new回自动创建this对象 且类型就是构造函数的类型
------------------------------------------------------------------------
对比下两种创建对象的方法
function Person(name){
this.name=name;
}
var p1=new Person("john");
------------------------------------------------------------------------
下面介绍原型和原型链
每一个javascript对象都和另一个对象相关联 这个“另一个对象”就是我们熟悉的原型 每一个对象都是从原型继承属性
1:所有通过对象直接量创建的对象都具有同一个原型对象,并且可以通过js代码Object.prototype获得对原型对象的引用
2:通过关键字new和构造函数调用创建的对象的原型就是构造函数的prototype属性的值
因此,var arr=new Array();通过这个创建的对象的原型就是Array.prototype
通过 var date=new Date();原型就是Date.prototype
看之前的例子:
function Person(name){
this.name=name;
}
var p1=new Person("john");
p1对象的原型就是Person.prototype (对象可以从原型继承属性 所有给原型添加什么方法啥的 对象就可以继承了)
下面说继承------
javascript对象具有“自有属性”,也有一些属性是从原型对象继承而来的 ?但是这种继承是按照什么规律的呢?
假设要查询对象o的属性x 如果o中不错在x属性 那么将会继续在o的原型对象中查询
如果原型对象中也没有o 但是这个原型对象也有原型 那么继续在这个原型对象的原型上执行查询 知道找到x属性 或者查找到一个原型是null的对象为止 可以看到 对象的原型属性构成了一个链 通过这个链 可以实现属性的继承
- 对js对象和原型的理解
- 谈谈对js原型对象的理解
- 对js原型对象的理解
- js的原型链和对象理解
- 对js原型的理解
- JS-原型对象的理解
- JS 对象,原型的理解
- 对JS原型(链)的理解和记忆(一)
- 深入理解JS—对象和原型
- js原型对象理解
- 我对js原型链的理解
- js的原型和对象
- 理解js的prototype原型对象
- 怎么理解js的原型对象
- 【web前端-理解js原型】理解Javascript中的原型对象、原型链和继承
- js 对象理解(2)---对象的原型与对象
- 对JS对象的理解
- 个人对"原型"和"原型链"的理解
- 算法_01
- [LeetCode]628. Maximum Product of Three Numbers
- 程序员的自我修养读书笔记:第一章
- 机器学习笔记1:初探机器学习
- Python基础——使字典按照 items 的大小进行排序
- 对js对象和原型的理解
- HDU -- 5071 Chat 超强模拟
- Python:矩形覆盖
- 并发队列-无界非阻塞队列 ConcurrentLinkedQueue 原理探究
- numpy基础——ndarray.shape
- StringBuffer的用法
- Python基础—— dict.get() 与 dict['key'] 的区别
- Leetcode Basic Calculator I && II
- 并发队列 – 无界阻塞队列 LinkedBlockingQueue 原理探究