Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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 Object.defineProperty引发错误,因为未定义配置_Javascript - Fatal编程技术网

Javascript Object.defineProperty引发错误,因为未定义配置

Javascript Object.defineProperty引发错误,因为未定义配置,javascript,Javascript,我正在读Addy Osmani的《JavaScript设计模式》一书,为什么他在不工作的情况下使用这样的配置 var defineProp = function ( obj, key, value) { config.value = value; Object.defineProperty(obj, key, config); } var man = Object.create(null); defineProp( man, 'car', 'Delorean'); definePro

我正在读Addy Osmani的《JavaScript设计模式》一书,为什么他在不工作的情况下使用这样的配置

var defineProp = function ( obj, key, value) {
  config.value = value;
  Object.defineProperty(obj, key, config);
}

var man = Object.create(null);

defineProp( man, 'car', 'Delorean');
defineProp( man, 'dob', '1981');
defineProp( man, 'beard', false);

// As we will see a little later in the book, these methods can even be used for inheritance, as follows:

var driver = Object.create(man); 
defineProp(driver, 'topSpeed', '100mph');
driver.topSpeed // 100mph

你确定你没有跳过任何东西吗?这可能只是书中的一个印刷错误。您在哪里设置
config
变量的值?
config
变量的声明在哪里?如果查看该引用,您会发现
definePro()
函数看起来有很大不同。您发布的代码缺少
config
对象的声明。如果在更高范围的代码中其他地方没有出现,那么您显示的是一个打字错误。但是,它可能是在一个更高的范围内声明的,只是由这个函数使用(这不是一个好的设计)。如果您在提供的链接点中搜索
defineProp()
,您将看到该函数更合适的定义。在我的.pdf文件中,从未声明过config。感谢@Pointy为我展示最新更新。