zoukankan      html  css  js  c++  java
  • JavaScript 原型和原型链

    原型

    原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象

    • 提取公共属性到原型中
    • 通过后代无法修改、增加、删除原型
    • constructor(系统自带隐藏属性浅粉色),构造器,返回对象的构造函数,可以手动更改
    Person.prototype.LastName="ge"
    function Person(){
            this.Name="xuerongh"
    }
    var person=new Person()
    console.log("原型属性"+person.LastName);//原型属性ge
    console.log("自身属性"+person.Name);//自身属性xuerongh
    console.log("构造器"+person.constructor);//构造器function Person(){this.Name="xuerongh"}
    • __proto__指向原型,可以自己修改为别的对象
    function Person() {
                //var this = {
                //__proto__: Person.prototype
                //}
    }

     原型链 

    由__proto__是任何对象有的属性,__proto__指向原型,js中万物皆对象,__proto__形成的链条就是原型链。

    • Object.create(原型)
    • 绝大多数对象最终都会继承自Object.prototype(Object.create(null)不继承)
    • toString():undefined、null不能调用,没有包装类、没有原型无法调用toString()。123.tostring()不可以调用.会当作数学符号优先计算。

    javascript精度不准

    call/apply

    • 改变this指向
    • call需要把实参按照形参的个数传进去,apply 需要传一个arguments
  • 相关阅读:
    Java服务停止与开启
    跨域,php后端处理
    Mac 504 gateway timeout nginx
    Tp3.2 多数据库链接
    Redis 设置密码
    Redis 如何对外访问 lnmp安装
    tensorflow gpu安装
    ngx_http_upstream_check_module
    Nginx负载均衡+监控状态检测
    springboot+log4j2+slf4j控制台打印带sql日志
  • 原文地址:https://www.cnblogs.com/FashionDoo/p/10542565.html
Copyright © 2011-2022 走看看