<tfoot id='LaIcE'></tfoot>

      <i id='LaIcE'><tr id='LaIcE'><dt id='LaIcE'><q id='LaIcE'><span id='LaIcE'><b id='LaIcE'><form id='LaIcE'><ins id='LaIcE'></ins><ul id='LaIcE'></ul><sub id='LaIcE'></sub></form><legend id='LaIcE'></legend><bdo id='LaIcE'><pre id='LaIcE'><center id='LaIcE'></center></pre></bdo></b><th id='LaIcE'></th></span></q></dt></tr></i><div id='LaIcE'><tfoot id='LaIcE'></tfoot><dl id='LaIcE'><fieldset id='LaIcE'></fieldset></dl></div>
          <bdo id='LaIcE'></bdo><ul id='LaIcE'></ul>
        <legend id='LaIcE'><style id='LaIcE'><dir id='LaIcE'><q id='LaIcE'></q></dir></style></legend>

        <small id='LaIcE'></small><noframes id='LaIcE'>

        JavaScript中的 new 命令

        时间:2023-12-08
        <i id='Nefv5'><tr id='Nefv5'><dt id='Nefv5'><q id='Nefv5'><span id='Nefv5'><b id='Nefv5'><form id='Nefv5'><ins id='Nefv5'></ins><ul id='Nefv5'></ul><sub id='Nefv5'></sub></form><legend id='Nefv5'></legend><bdo id='Nefv5'><pre id='Nefv5'><center id='Nefv5'></center></pre></bdo></b><th id='Nefv5'></th></span></q></dt></tr></i><div id='Nefv5'><tfoot id='Nefv5'></tfoot><dl id='Nefv5'><fieldset id='Nefv5'></fieldset></dl></div>

          <tbody id='Nefv5'></tbody>

              1. <tfoot id='Nefv5'></tfoot><legend id='Nefv5'><style id='Nefv5'><dir id='Nefv5'><q id='Nefv5'></q></dir></style></legend>
                  <bdo id='Nefv5'></bdo><ul id='Nefv5'></ul>

                  <small id='Nefv5'></small><noframes id='Nefv5'>

                  当使用new命令创建一个对象时,实际上进行了以下操作:

                  1. 创建一个空的Javascript对象,作为新创建的对象实例
                  2. 将this指向该对象
                  3. 执行函数体内的代码,即对该对象进行初始化
                  4. 返回新创建的对象,如果函数返回了一个object类型的值,则返回该对象。否则返回上述新创建的对象

                  示例1:创建一个Person类对象

                  function Person(name, age) {
                    this.name = name;
                    this.age = age;
                  }
                  
                  const person1 = new Person('Jack', 20);
                  
                  console.log(person1); // Person { name: 'Jack', age: 20 }
                  

                  上述代码中,使用new关键字创建了一个Person类的实例对象person1。new Person的过程中即创建了一个Person类的实例对象,并将this指向该对象并执行了函数体内的代码,初始化了该实例对象。最后将新创建的对象返回并赋给变量person1。

                  示例2:创建一个自定义的Error对象

                  function MyError(message) {
                    this.message = message;
                    this.name = 'MyError';
                  
                    Error.captureStackTrace(this, MyError);
                  }
                  
                  MyError.prototype = Object.create(Error.prototype);
                  MyError.prototype.constructor = MyError;
                  
                  const myError = new MyError('Something went wrong');
                  
                  console.error(myError.stack); // MyError: Something went wrong
                                                //    at Object.<anonymous> (/Users/user/app.js:5:13)
                                                //    at Module._compile (module.js:652:30)
                                                //    at Object.Module._extensions..js (module.js:663:10)
                                                //    at Module.load (module.js:565:32)
                                                //    at tryModuleLoad (module.js:505:12)
                                                //    at Function.Module._load (module.js:497:3)
                                                //    at Function.Module.runMain (module.js:693:10)
                                                //    at startup (bootstrap_node.js:188:16)
                                                //    at bootstrap_node.js:609:3
                  

                  上述代码中,定义了一个MyError类,它是自定义的Error类。使用new关键字创建了一个MyError类的实例对象myError。在MyError构造函数中,使用Error.captureStackTrace()方法记录堆栈跟踪信息,以便更好地调试和定位错误。

                  通过这两个示例可以看到,使用new命令可以方便地创建对象实例,并且可以自定义类的各种属性和方法。

                  上一篇:JavaScript箭头函数中的this详解 下一篇:js实现炫酷光感效果

                  相关文章

                    • <bdo id='lVHFG'></bdo><ul id='lVHFG'></ul>

                      <tfoot id='lVHFG'></tfoot>
                      <i id='lVHFG'><tr id='lVHFG'><dt id='lVHFG'><q id='lVHFG'><span id='lVHFG'><b id='lVHFG'><form id='lVHFG'><ins id='lVHFG'></ins><ul id='lVHFG'></ul><sub id='lVHFG'></sub></form><legend id='lVHFG'></legend><bdo id='lVHFG'><pre id='lVHFG'><center id='lVHFG'></center></pre></bdo></b><th id='lVHFG'></th></span></q></dt></tr></i><div id='lVHFG'><tfoot id='lVHFG'></tfoot><dl id='lVHFG'><fieldset id='lVHFG'></fieldset></dl></div>

                    1. <small id='lVHFG'></small><noframes id='lVHFG'>

                    2. <legend id='lVHFG'><style id='lVHFG'><dir id='lVHFG'><q id='lVHFG'></q></dir></style></legend>