zoukankan      html  css  js  c++  java
  • javascript中构造函数的返回值问题和new对象的过程

    首先明白一点:javascript中构造函数是不须要有返回值的,这一点跟java非常类似。能够觉得构造函数和普通函数的最大区别就是:构造函数中没有return语句,普通函数能够有return语句。构造函数中会使用thiskeyword定义成员变量和成员方法。普通的函数不会使用thiskeyword定义成员变量和方法。

    function Person(name,sex) 
    {  
        	this.name = name;
    	this.sex = sex;
    	//return 1;
    	//return true;
    	//return "aty";
    	return {"returnValue":11};
    }
    
    //newkeyword会被觉得是创建对象
    var aObj = new Person("11",1);
    alert(aObj.returnValue);//11
    alert(aObj.name);//undefined


    构造函数不须要显示的返回值。使用new来创建对象(调用构造函数)时,假设return的是非对象(数字、字符串、布尔类型等)会忽而略返回值;假设return的是对象,则返回该对象。

    以下简介下,javascript中new对象的过程:如var myObj = newPerson(“aty”,25);

     1.创建一个空的Object对象.var obj = new Object();

     2.将构造函数Personthis指向刚创建的obj对象

     3.将创建的obj__proto__指向构造函数Personprototype。这一步是建立对象和原型直接的相应关系。firefox下通过

      对象的__proto__属性可以訪问到原型,IE下则没有暴露出对应的属性。

     4.运行构造函数Person()中的代码

  • 相关阅读:
    c# 遮罩
    判断当前task中的运行的activity是否为当前应用
    Chrome+SwitchySharp+myentunnel+SSH
    vps
    系统制作
    vs2010 mfc
    android ndk
    乐 Phone刷机教程(全过程)
    mysql 保留字 冲突
    mysql 存储过程
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7212560.html
Copyright © 2011-2022 走看看