我是靠谱客的博主 舒适外套,最近开发中收集的这篇文章主要介绍JavaScript学习--js对象、原型、原型链前言对象原型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 前言
  • 对象
    • 对象属性的增删改查
    • 对象的构建方法(两种)
    • 构造函数的内部原理
    • 包装类
  • 原型
    • 原型链
    • 原型链基本思路

前言

原型、原型链是学习JavaScript的过程中的一个难点之一,此贴为本人学习JavaScript时留下的学习笔记。

对象

  • JavaScript 对象是拥有属性和方法的数据。
object {
	name:value ,
}

对象也属于变量的一种,它可以使用var来声明,它可以包含多个值(多个变量),每个值以 name:value 对呈现。

var object = {
	name1:value1,
	name2:value2, 
}

对象属性的增删改查

object.新属性 = 值;
delete object.属性     
//delete关键词可以删除对象的属性
object.属性   
//返回值为属性的值
object.属性 = 修改的值

对象的构建方法(两种)

  • 1、var声明
var object = {
	name1:value1,
	name2:value2, 
}
  • 2、构造函数法

系统自带的构造函数 new object()

function Car(){
	this.name = "BMW",
	this.length = "1400",
}

var car = new Car();

构造函数的内部原理

  • 在函数体最前面隐式的加上 this.{}
  • 执行 this xxx = xxx;
  • 隐式的返回this

包装类

  • new String()
  • new Boolean()
  • new Number()

这些方法作用在原始值(数字、字符串、布尔值)上会执行包装类的过程,使得原始值具有属性和方法。

//包装类

var num = 4;
//原始值不能调用属性

num.len = 3;
//当原始值调用属性时会进行包装类
//new number(4).len = 3;生成了一个对象: 4 {len:3}
//执行完之后就会delete这个对象


原型

  • 1、定义:原型是function 对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。(原型也是对象)
  • 2、利用原型的特点和概念 ,可以提取共有属性
  • 3、对象如何查看原型 – > 通过隐式属性 proto
  • 4、对象如何查看对象的构造函数 – > 通过隐式属性 constructor
Person.proto.name = "wang";
function Person(){                           //person.prototype 是原型
														
}

var person = new Person();

person.name  //会返回“wang”

如果function内部有this.name = “li“
最后则会返回”li“

原型链

  • 绝大部分的的对象:有__proto__属性(指向其原型链)prototype属性。
  • 原型对象(Person.prototype 原型对象还有constructor属性(指向构造函数对象))
  • 凡是通过new Function()创建的函数对象都拥有__proto__、prototype属性(指向原型对象)。

在这里插入图片描述

原型链是实现继承的主要方法。

原型链基本思路

利用原型让一个引用类型继承另一个引用类型的属性和方法。

每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数想指针(constructor),而实例对象都包含一个指向原型对象的内部指针(proto)。如果让原型对象等于另一个类型的实例,此时的原型对象将包含一个指向另一个原型的指针(proto),另一个原型也包含着一个指向另一个构造函数的指针(constructor)。假如另一个原型又是另一个类型的实例……这就构成了实例与原型的链条。

function Animal(){  
    this.type = "animal";  
}  
Animal.prototype.getType = function(){  
    return this.type;  
}  
  
function Dog(){  
    this.name = "dog";  
}  
Dog.prototype = new Animal();  
  
Dog.prototype.getName = function(){  
    return this.name;  
}  
  
var xiaohuang = new Dog();  
//原型链关系  
xiaohuang.__proto__ === Dog.prototype  
Dog.prototype.__proto__ === Animal.prototype  
Animal.prototype.__proto__ === Object.prototype  
Object.prototype.__proto__ === null 

最后

以上就是舒适外套为你收集整理的JavaScript学习--js对象、原型、原型链前言对象原型的全部内容,希望文章能够帮你解决JavaScript学习--js对象、原型、原型链前言对象原型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部