zoukankan      html  css  js  c++  java
  • 带不带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的静态方法,不喜欢用,感觉不符合面向对象的观念。

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

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

  • 相关阅读:
    Linux 防火墙配置
    【存在问题,待修改】SSH 远程登陆
    Hadoop 本地模式安装
    CentOS7 安装 JDK
    JS的DOM操作
    JavaScript
    格式与布局(定位)
    样式表
    表单、内嵌网页
    HTML中的一般标签、常用标签和表格
  • 原文地址:https://www.cnblogs.com/chenluomenggongzi/p/5827268.html
Copyright © 2011-2022 走看看