Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-如何使用配置值创建构造函数?_Javascript_Oop_Extjs_Constructor - Fatal编程技术网

Javascript-如何使用配置值创建构造函数?

Javascript-如何使用配置值创建构造函数?,javascript,oop,extjs,constructor,Javascript,Oop,Extjs,Constructor,我已经搜索了很多javascript OOP库,但我只找到了一个具有我想要的功能的库。我想用如下配置值创建javascript对象: var iPhone=新智能手机({ 触摸屏:没错, 操作系统:“iOS” }); 我找到的唯一一个库是SenchaExtJS4 …像这样创建构造函数的魔力是什么?或者你能给我推荐其他的OOP库吗?我正在寻找免费的库,因为我需要将它应用到我们的商业应用程序中,所以我不能使用免费的Sencha,它只用于开源项目 谢谢你的魔法: var SmartPhone = (

我已经搜索了很多javascript OOP库,但我只找到了一个具有我想要的功能的库。我想用如下配置值创建javascript对象:

var iPhone=新智能手机({ 触摸屏:没错, 操作系统:“iOS” });

我找到的唯一一个库是SenchaExtJS4

…像这样创建构造函数的魔力是什么?或者你能给我推荐其他的OOP库吗?我正在寻找免费的库,因为我需要将它应用到我们的商业应用程序中,所以我不能使用免费的Sencha,它只用于开源项目

谢谢你的魔法:

var SmartPhone = (function SmartPhoneClass() {

  function SmartPhone(props) {
    this.hasTouchScreen = props.hasTouchScreen || false;
    this.operatingSystem = props.operatingSystem || 'Android';
  }

  SmartPhone.prototype = {
    ...
  };

  return SmartPhone;

}());

var iPhone = new SmartPhone({
  hasTouchScreen: true,
  operatingSystem: 'iOS'
});

配置值是什么意思?它们如何影响实际创建的对象?目前看来,您只是想将对象的属性复制到实例中。这是一个非常常见的概念。。。我觉得几乎所有的库(包括我自己编写的库代码)都在使用它。
/*免费库*/功能智能手机(opts){this.hasTouchScreen=!!opts.hasTouchScreen;this.operatingSystem=opts.operatingSystem;}
我只对如何创建我可以在构造函数中向其传递值的对象感兴趣,比如:new SmartPhone({hasstouchscreen:true,operatingSystem:'iOS'})而不是像这样:新智能手机(true,'iOS')非常感谢你们所有人,这就是我想要的:)