码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • js对象易混淆知识


    js对象易混淆知识

    __proto__ vs prototype

    __proto__和constructor属性是对象所独有的。

    __proto__属性的作用就是当访问一个对象的属性时,如果该对象内部不存在这个属性,那么就会去它的__proto__属性所指向的那个对象(父对象)里找,一直找,直到__proto__属性的终点null,再往上找就相当于在null上取值,会报错。

    Object.create()

    Object.create()方法创建一个新对象(带着指定的原型对象和属性),使用现有的对象来提供新创建的对象的__proto__。

    Object.assign

    Object.assign 会把  OtherSuperClass原型上的函数拷贝到 MyClass原型上,使 MyClass 的所有实例都可用 OtherSuperClass 的方法。Object.assign 是在 ES2015 引入的,且可用 polyfilled。要支持旧浏览器的话,可用使用 jQuery.extend() 或者 _.assign()。

    instanceof

    instanceof 用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。

    isPrototypeOf

    isPrototypeOf() 测试一个对象是否存在于另一个对象的原型链上。

    constructor

    constructor 是一种用于创建和初始化class创建的对象的特殊方法。

    1. const Person = class {
    2. constructor(name) {
    3. this.name = name;
    4. }
    5. };
    6. class createPersonClass extends Person {
    7. constructor(name, age) {
    8. console.log(name);
    9. console.log(age);
    10. //通过supper()传入父类Person的构造函数
    11. super(name);
    12. // 注意: 在派生类中, 必须先调用 super() 才能使用 "this"。
    13. console.log(this.name);
    14. //console.log(this.age);//undefined
    15. }
    16. }
    17. const jack = new createPersonClass("Jack", 18);

    call

    通过call()和apply()间接调用函数,任何函数可以作为任何对象的方法来调用。

    apply

    第一个参数是调用函数的母对象 this,apply 方法要求以数组的形式传入参数

    bind

    bind 方法将函数绑定到某个对象,除第一个实参外,其他实参绑定到 this ,返回一个函数对象。

    图示

    图片忘记从哪来的啦,图片不是原创。

  • 相关阅读:
    Python中的列表(清晰易懂)
    excel表中复制粘贴有隐藏行的情况
    p4_第04天:基础入门-WEB源码拓展
    外汇天眼:美国10月CPI降至9个月低点 美联储结束加息周期的曙光来了?
    .net----特性
    设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
    在字节跳动和拼多多干了5年测试,熬夜总结出来的划水经验....
    划分为k个相等的子集 -- 回溯算法应用
    知识点9--容器的数据卷
    在Linux上使用yum安装MySQL
  • 原文地址:https://blog.csdn.net/Irene1991/article/details/128172516
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号