zoukankan      html  css  js  c++  java
  • JavaScript new 一个构造函数

    我们在使用JavaScript对象的时候,除了一些浏览器内置的单体对象可以直接使用外,都会new一个出来使用。

    1、new

    var obj = new Object();

    此时的new关键字干了最有用的一件事、继承所有Object.prototype上的方法( 一切对象皆继承于Object )

    2、new过程中发生了什么?

    1)、创建一个对象

    2)、将构造函数的作用域赋给新对象(因此this就指向了新对象(obj))

    3)、执行构造函数中的代码(为新的对象添加属性)

    4)、返回新对象

    var arr = [1,2,3,4];
    arr.a = 12;
    arr.show = function(){
        alert(this.a);
    }
    arr.show();
    var obj = new Object();
         obj.name = "ntsc";
         obj.qq = "785537837";
         obj.showName = function(){
         alert("我的名字叫:"+ this.name);
    };
    obj.showQQ = function(){
         alert("我的QQ号:"+ this.qq);创建
    };
    console.dir(Object);
    console.dir(obj);
    function createPerson(name, QQ) { // 构造函数  
         // 创建一个空白对象(原料)
         var obj = new Object();
         // 加属性和方法(加工)
         obj.name = name;
         obj.qq = QQ;
         obj.showName = function () {
             console.log("我的名字叫:" + this.name);
         };
         obj.showQQ = function () {
             console.log("我的QQ号:" + this.qq);
         };
         // 对象返回(出厂)
         return obj;
    }
    var obj = createPerson("ntsc", "123456");
    function CreatePerson(name, QQ) { // 在构造函数里面增加属性
            this.name = name;
            this.qq = QQ;
    }
    CreatePerson.prototype.showName = function () { // 在原型里面增加方法(一样的东西放入"原型"里面)
        console.log("我的名字叫:" + this.name);
    };
    CreatePerson.prototype.showQQ = function () {
        console.log("我的QQ号:" + this.qq);
    };
    ar obj = new CreatePerson("ntsc", "123465")
    function Obj(){
        this.a = "123";
        this.b = function(){
            alert("b");    
        }
    }
    Obj.prototype.c = function(){
        alert("c");
    }
    var obj = new Obj();

     面向对象:在不了解原理的情况下、使用其功能。只关注对象的功能、不去关注其内部细节(一种通用思想)

    对象:是由"属性" 和 "方法"构建的

      变量(自由的、不属于任何事物) 和 属性(属于某一个特定对象)本质上是一个东西

      函数(自由的、不属于任何事物) 和 方法(属于某一个特定对象)本质上是一个东西

    Object:一切对象他爹(很纯很干净、一切对象皆继承于他)

    this:

      1、this是誰和函数在哪里定义和哪里执行没有关系

      2、当前的方法属于誰、this就是誰(看函数前面的点"."、有点的话前面是誰、this就是誰)、没有电、this为window

      3、給函数绑定事件、对于的this就是当前被绑定事件的元素

      4、自执行函数、this永远都是window

    对象实例化:人类(对象) --- 小明(实例化) --- 具体到个体

    注:如果构造函数不需要参数,可以省去括号,即:new Obj() 和 new Obj是等同的。

    居敬持志~ Coding
  • 相关阅读:
    时间戳与时间之间的相互转化
    源代码管理之Git命令的使用
    ios最新设置状态栏字体颜色总结
    iOS 代码方式设置按钮标题、图片的偏移
    runloop简单介绍
    iOS中的多线程NSThread/GCD/NSOperation & NSOperationQueue
    AFNetworking的详细解析
    MATLAB相关快捷键以及常用函数
    CentOS 5.8下快速搭建FTP服务器
    php获取跳转后的真实链接
  • 原文地址:https://www.cnblogs.com/ntscshen/p/4711091.html
Copyright © 2011-2022 走看看