您的位置:首页 > Web前端 > JavaScript

JavaScript 通过function创建对象的思考

2017-05-07 18:49 281 查看
JavaScript中 function()不仅能够创建普通的函数,也可以创建复合对象(即相当于构造函数)。本文主要介绍创建复合对象的知识。

1.返回类型为单一值

var fun1 = function() {
return 'this is factoryServices01';
};
console.log(typeof fun1); //function
console.log(typeof fun1()); //string,加括号后执行fun1函数


2.返回类型为复合对象

var fun2 = function() {
return {
name: 'kancy',
play: function() {
alert('hello');
},
address: {}
};
};
console.log(typeof fun2); //function
console.log(typeof fun2()); //object
console.log(typeof fun2().name); //string
//console.log(typeof fun2().name());  // 错误:"Uncaught TypeError: string is not a function"
console.log(typeof fun2().play); //function
console.log(typeof fun2().play()); //undefined,因为没有return;但是alert正常执行
console.log(typeof fun2().address); //object
//console.log(typeof fun2().address());  // 错误:"Uncaught TypeError: object is not a function"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: