javascript - 如下代码,什么情况下typeof Constructor.prototype === 'number'?
巴扎黑
巴扎黑 2017-04-11 11:52:55
[JavaScript讨论组]
function A( name ){
    this.name = name;
}
 
function ObjectFactory(){
    //console.log(arguments);
    var obj = {},
    Constructor = Array.prototype.shift.call( arguments );
    //console.log(typeof Constructor.prototype);
    
    obj.__proto__ =  typeof Constructor.prototype === 'number'  ? Object.prototype : Constructor.prototype;
    
    var ret = Constructor.apply( obj, arguments );
    //console.log(typeof ret);
    
    return typeof ret === 'object' ? ret : obj;
    
}
 
var a = ObjectFactory( A, 'svenzeng' );
巴扎黑
巴扎黑

全部回复(2)
PHP中文网

你在 var a = ObjectFactory( A, 'svenzeng' );
前面加一句 A.prototype = 10; 就是了。

天蓬老师

你这个永远都不会等于number,因为手机码字,所以点到为止,number是基本数据类型,而prototype是引用数据类型object

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号