javascript中构造函数的返回值问题和new对象的过程

来源:互联网 发布:移民文案知乎 编辑:程序博客网 时间:2024/06/05 06:10

首先明确一点:javascript中构造函数是不需要有返回值的,这一点跟java很类似。可以认为构造函数和普通函数的最大差别就是:构造函数中没有return语句,普通函数可以有return语句;构造函数中会使用this关键字定义成员变量和成员方法,普通的函数不会使用this关键字定义成员变量和方法。

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

构造函数不需要显示的返回值。使用new来创建对象(调用构造函数)时,如果return的是非对象(数字、字符串、布尔类型等)会忽而略返回值(忽略return);如果return的是对象(如果是对象哪么就会丢失原有对象),则返回该对象。

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

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

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

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

对象的__proto__属性能够访问到原型,IE下则没有暴露出相应的属性。

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

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 没有百度糯米账号但是买票了怎么办 拼多多商家版登陆密码忘记了怎么办 安卓下载的软件闪退怎么办 老司机影视院开通会员看不了怎么办 梦幻西游手游苹果手机打不开怎么办 拼多多笔订单被判定虚假发货怎么办 苹果手机微信接收不到信息怎么办 内衣穿32太小穿34空杯怎么办 楼下的把下水管道堵死了怎么办?? 微信绑定的手机号码已停机怎么办 绑定微信的手机号停机了怎么办验证 绑定手机停机微信怎么验证码怎么办 五菱之光雨刷开关手柄断了怎么办 快手家长控制模式密码忘了怎么办 有陌生人要求你拉他入群怎么办 手机一天接到多个陌生电话怎么办 阳光惠生活登录密码忘了怎么办 一个身份证注册了两个支付宝怎么办 买手办拆了发现坏了怎么办 六个月宝宝喝贝因美过敏怎么办 超市盘点少的货扣员工工资怎么办 孩子东西在学校被偷了怎么办 想退出却不舍的感情不知怎么办? 我被老板摸全身失眠有阴影怎么办 不知道绑定支付宝的微博账号怎么办 银行卡丢了补办后支付宝账户怎么办 未激活的银行卡被锁定了怎么办 手机网银上的钱被盗走了怎么办 支付宝支付失败银行卡扣了钱怎么办 小程序的二次验证码丢失怎么办 苹果手机不小心购买游戏币怎么办 在淘宝买的洗衣粉是假的怎么办 京东快递电话填错了怎么办 新买的手机卡被注册过支付宝怎么办 手机卡掉了别人登陆支付宝怎么办 手机卡注销了支付宝欠的钱怎么办 手机丢了支付宝和微信里的钱怎么办 新办的手机号已被注册支付宝怎么办 新办的移动卡不能注册支付宝怎么办 新办的宝卡支付宝注册过怎么办 办支付宝后银行卡被盗刷怎么办