加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Javascript等效的分配参考?

发布时间:2020-12-13 14:03:50 所属栏目:PHP教程 来源:网络整理
导读:有什么办法可以通过将一个局部变量指向一个对象属性,在 Javascript中不那么冗长吗? 例如在PHP中,我可以这样做: $obj-subobject-property = 'Foo';$property = $obj-subobject-property;$property = 'Bar';echo $obj-subobject-property;// output 'Bar' 这
有什么办法可以通过将一个局部变量指向一个对象属性,在 Javascript中不那么冗长吗?

例如在PHP中,我可以这样做:

$obj->subobject->property = 'Foo';
$property =& $obj->subobject->property;
$property =  'Bar';
echo $obj->subobject->property;
// output 'Bar'

这不是一个很好的例子,但你得到的想法.

我想在Javascript中复制此行为.我经常不得不深入对象,而且变得非常烦人:

if (please.stop.making.me[somevar].type.so.much.length) {
    please.stop.making.me[somevar].type.so.much[newSubObjectKey] = anObject;
}

// perform more operations on the object down here

这将会更容易阅读,更容易输入:

var subObj = is.much.easier.to.type.once;
if (subObj.length) {
     subObj[newSubObjectKey] = anObject;
}

// now that's much better

我知道我已经知道了,但是我只是在Javascript中进入“高级新手”.

在Javascript中,一切都是通过值传递的,但变量的类型将决定它是否是通过值传递的引用;

>对象是引用
>基元(数字,字符串等)通过值传递.

简单来说,如果将变量传递给数组的函数,则在函数中修改它将影响父对象.

但是,在数组中传递一个值不会.当然,绝对没有任何东西阻止你在对象中包含一个原语,以确保它像“指针”一样工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读