• 带不带protype的区别


    总结写在前面:

      ①:带有protype:表示类的扩展,必须new后才能使用。

      ②:不带protype:属于静态方法,直接调用即可。

    html代码:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <script src="show.js"></script>
     7 </head>
     8 <body>
     9 <script src="main.js"></script>
    10 </body>
    11 </html>

    protype:

    show.js代码:

     1 window.meng = window.meng || {};
     2 (function () {
     3 
     4     function Show(name) {
     5         this._name=name;
     6     }
     7     Object.defineProperty(Show.prototype,"name",{
     8         get:function () {
     9             return this._name;
    10         }
    11     });
    12     Show.prototype.showCloth=function () {
    13       console.log(this.name+"穿着皮大衣");  
    14     };
    15 
    16     meng.Show=Show;
    17 
    18 
    19 })();

    main.js代码:

    1 (function () {
    2    
    3     var per=new meng.Show("meng");
    4     per.showCloth();
    5    
    6 })();

    效果:

      输出meng穿着皮大衣。

    no protype:

    show.js代码:

     1 window.meng = window.meng || {};
     2 (function () {
     3 
     4     function Show(name) {
     5         this._name=name;
     6     }
     7     Show.showName=function () {
     8       console.log("静态方法");
     9     };
    10     
    11     meng.Show=Show;
    12 
    13 
    14 })();

    main.js代码:

    1 (function () {
    2 
    3     // var per=new meng.Show("meng");
    4     // per.showCloth();
    5 
    6     meng.Show.showName();
    7 })();

    效果:

      输出:静态方法。

    自己的认知:带有protype的扩展方法在js里面举足轻重,必须学会,而又常用。

          不带protype的静态方法,不喜欢用,感觉不符合面向对象的观念。

            但有时候用用也未尝不可。各有千秋吧。

            有某些特殊时候用了会有奇效。都记住吧。

  • 相关阅读:
    哥们儿太猛了
    word文档中出现一串乱码数字
    outlook添加附件时报错--“附件大小超过了允许的范围”
    windows常用脚本备忘
    vim常用命令
    win10中使用scp命令传输文件
    win10安装域控管理工具组件
    edge浏览器离线下载
    SQL_从星期一到星期六自动打卡SQL代码
    用友U8按BOM计算销售订单物料需求SQL代码 第一稿
  • 原文地址:https://www.cnblogs.com/chenluomenggongzi/p/5827268.html
Copyright © 2020-2023  润新知