【笔记】JavaScript - 关于面向对象的一些基本概念知识

末蓝、 2022-12-19 11:40 305阅读 0赞

关于构造函数和普通函数底层运行原理的对比

  • 普通函数
  • 普通执行时形成一个独立的私有上下文;在私有上下文中有用于保存私有变量的活动对象AO
  • 初始化作用域链
  • 初始化this
  • 初始化arguments
  • 形参赋值
  • 变量提升
  • 代码执行
  • 返回值:return啥就是啥
  • 构造函数执行
  • 构造函数执行时同样也是先形成一个独立的私有上下文;在私有上下文中有用于保存私有变量的活动对象AO
  • 与普通函数不同的是:构造函数在形成私有上下文后,浏览器会默认创建一个实例对象(当前构造函数的实例)
  • 初始化this,并让this指向上一步中创建好的实例对象
  • 初始化arguments
  • 形参赋值
  • 变量提升
  • 代码执行
  • 函数返回值:

    • 如果没有返回值或返回值是一个基本类型值,则浏览器会忽略其返回值而是把创建的实例对象作为返回值返回
    • 如果返回值是一个引用类型值,则浏览器会把这个引用类型值作为返回值返回

在这里插入图片描述

关于构new造函数加括号和不加括号的对比

  • new Fn VS new Fn()
  • 相同点:两种方式都是把函数Fn执行
  • 不同点:

    • new Fn 没有传递实参; 并且运算符优先级是18
    • new Fn():可以传递实参;并且运算符优先级是19

关于获取对象属性的一些总结

在这里插入图片描述

检测对象的成员是一个公有属性

在这里插入图片描述

关于对象中的原型和原型链的一些细节知识

在这里插入图片描述
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpeGlhb3Nlbmxpbg_size_16_color_FFFFFF_t_70_pic_center 4

函数的多种角色

在这里插入图片描述
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读

    相关 关于面向对象一些思考

    我们都知道,PHP的特色就是简单、快速、适用,在PHP的世界里,一切都是以解决问题为主,所以呢,很多设计方面的东西,往往被忽视或者说是排斥,虽然说PHP的面向对象这个思想被提出