zoukankan      html  css  js  c++  java
  • JS中的对象

    1、函数:工具,对象:工具包;框架:多个对象;

    2、JSON协议是国际标准规定的一种书写方式(协议、标准),JSON对象就是对象字面量;(恰好协议和对象的格式相同)

    3、JS里面的对象和其他语言不太一样,它通过两个对象(构造函数对象和原型对象)来完成定义对象的功能;

     1     <script>
     2         function Product(){
     3             //构造函数属性
     4             this.name= "";
     5             //构造函数方法
     6             this.test = function(){
     7 
     8             }
     9         }
    10 
    11         Product.prototype={
    12             //原型对象属性
    13             Price:1000,
    14             //原型对象方法
    15             Buy:function(){
    16 
    17             }
    18         }
    19     </script>
    View Code

     

    4、任何对象都包含一个隐藏的属性__proto__,其指向构造函数的原型对象,原型对象中的constructor指向构造函数;

     

    5、面向对象好处:分类管理、封装性,模块化、方便寻找错误、代码修改方便,扩展容易、面向未来编程;

     

    6、检测对象数据类型:toString.call(obj);判断一个变量是不是对象非常简单。值类型的类型判断用typeof,引用类型的类型判断用instanceof;

     

    7、JS中new一个实例干了三件事:创建一个空对象、拷贝构造函数中的方法属性到空对象中、自动生成一个属性__proto__指向构造函数的原型(p.__proto__ === Product.prototype);

    8、将伪数组转换成真数组:比如Array.prototype.slice.call(arguments);

    9、apply的巧妙用法:广泛应用于可变参数的函数调用,比如Array.prototype.push(arr1,arr2);

    10、对象属性搜索机制:首先在构造函数中寻找属性(方法),如果没找到,找到该对象的__proto__指向的对象,继续寻找属性(方法),如此无限循环,直到__proto__为null;

    11、面向对象:就是提炼属性方法,JS跟后台语言机制不太一样,JS是通过原型链来实现属性搜索机制;

    12、继承的作用:减少重复的代码、开放封闭原则;

        <script type="text/javascript">
            function Base(){}
            Base.prototype = {}
    
            function Product(){
                Base.call(this,arguments);
                this.name = "";
                this.desc = "";
            }
            Product.prototype= new Base();//修改Product的原型链
        </script>
    View Code
  • 相关阅读:
    Redis过期key是怎么样清理的?----互联网大厂面试题
    Docker容器引擎使用教程
    区块链算法
    MYSQL 常用语句与函数命令
    漏洞利用:验证绕过,XSS利用,Cookic盗用,文件上传
    小白网工入行要具备哪些基本技能?
    VMware中乌班图安装VMtools步骤
    防火墙技术原理-思维导图
    JAVA学习第一课-手工笔记
    DOS(磁盘操作系统)基本命令-思维导图
  • 原文地址:https://www.cnblogs.com/littlebirdlbw/p/5662611.html
Copyright © 2011-2022 走看看