Javascript创建对象结构

时间:2016-01-20 22:14:37

标签: javascript object closures

我曾经写了很多Javascript,现在我只是跳回去了,但似乎我已经失去了理智。我正在尝试使用函数创建一个对象,我这样做的方式与我的在线搜索建议我应该这样做的方式相同。我创建了这个例子来展示我尝试过的很多方法。

$str = 'test test';
$post = preg_replace('/\s/', '', $str);
if (((strlen($str) - 1) == strlen($post) || (strlen($str) == strlen($post))) && ctype_alnum($post)) {
echo  'tis good';
} else {
 echo 'rut row';
}

根据我的记忆,我应该可以打电话给 ab() ac()广告,同样也可以打电话给 A2

但是,当我尝试调用它们时,它不起作用。当我在控制台中键入变量名称时,它甚至不会将它们显示为选项。不过我可以打电话给 a.g()。我不能打电话给 a.h(),但我可以打电话给 a.prototype.h()

我在chrome中试过这个,还有firefox和Safari中的一些东西。

据我可以从在线教程中看出,这并没有像我期望的那样进行交互。

1 个答案:

答案 0 :(得分:2)

bef是函数a范围内的变量。他们永远不会暴露在这个功能之外。

cd被分配,在调用 a时被分配给this。如果您致电new a(),那么它将是返回的实例。

ga的属性,因此您可以调用它。

h位于原型链上,因此它会cd显示在使用a创建的new的实例上。