zoukankan      html  css  js  c++  java
  • js参考---构造函数修改

    js参考---构造函数修改

    一、总结

    一句话总结:

    解决构造函数中方法重复创建多次可以把方法放在全局中,但是这样会污染全局变量以及不安全,所以 可以将方法添加的原型中

    二、构造函数修改

    博客对应课程的视频位置:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title></title>
     6         <script type="text/javascript">
     7             /*
     8              * 创建一个Person构造函数
     9              *     - 在Person构造函数中,为每一个对象都添加了一个sayName方法,
    10              *         目前我们的方法是在构造函数内部创建的,
    11              *             也就是构造函数每执行一次就会创建一个新的sayName方法
    12              *         也是所有实例的sayName都是唯一的。
    13              *         这样就导致了构造函数执行一次就会创建一个新的方法,
    14              *             执行10000次就会创建10000个新的方法,而10000个方法都是一摸一样的
    15              *             这是完全没有必要,完全可以使所有的对象共享同一个方法
    16              */
    17             function Person(name , age , gender){
    18                 this.name = name;
    19                 this.age = age;
    20                 this.gender = gender;
    21                 //向对象中添加一个方法
    22                 //this.sayName = fun;
    23             }
    24             
    25             //将sayName方法在全局作用域中定义
    26             /*
    27              * 将函数定义在全局作用域,污染了全局作用域的命名空间
    28              *     而且定义在全局作用域中也很不安全
    29              */
    30             /*function fun(){
    31                 alert("Hello大家好,我是:"+this.name);
    32             };*/
    33             //向原型中添加sayName方法
    34             Person.prototype.sayName = function(){
    35                 alert("Hello大家好,我是:"+this.name);
    36             };
    37             
    38             //创建一个Person的实例
    39             var per = new Person("孙悟空",18,"");
    40             var per2 = new Person("猪八戒",28,"");
    41             per.sayName();
    42             per2.sayName();
    43             
    44             //console.log(per.sayName == per2.sayName);
    45             
    46             
    47         </script>
    48     </head>
    49     <body>
    50     </body>
    51 </html>
     
  • 相关阅读:
    Thymeleaf中,将字符串作为js函数的参数
    测试开发面试题总结
    013_RomanToInteger
    Python列表中查找某个元素的索引(多个)
    Python“函数式编程”中常用的函数
    009_Palindrome Number
    Python字符串方法总结(一)
    007_Reverse Integer
    002_Add Two Numbers
    pycharm上传代码到github
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12432404.html
Copyright © 2011-2022 走看看