簡體   English   中英

我可以在javascript中創建對變量的引用嗎?

[英]Can I create a reference to a variable in javascript?

我嘗試了以下方法:

    $scope.qs = {};
    $scope.qh = {};
    $scope.qv = {};
    var qs = $scope.qs;
    var qh = $scope.qh;
    var qv = $scope.qv;
    $scope.getQuestionHeaders = function () {
        var url = '/api/Test/GetQuestionHeaders?id=1';
        $http.get(url)
            .success(function (data, status, headers, config) {
               qh = data.testQuestionHeaders;
               qs = qh[0];

我的數據被分配給qs,我可以看到其他字段,如qs.i,qs.q等。但是當我使用chrome開發人員工具時,我注意到沒有為$ scope.qs分配任何內容。

那是對的。

你基本上是這樣做的:

foo.someProp = 1;
var bar = foo.someProp;
bar = 3; 

你期望foo.someProp是3嗎? 如果要更新$scope.qs引用,則需要直接執行,否則只需更改局部變量引用。 你可以修改qs里面的項目:

qs.foo = 1;
console.log($scope.qs.foo);

你重寫變量qhqs ,所以他們放棄了以前的引用。 如果要保持兩個vars同步,則必須執行此操作:

$scope.qh = qh = data.testQuestionHeaders;
$scope.qs = qs = qh[0];

更新屬性不會影響變量引用:

qh.witness = true;
$scope.qh.witness === qh.witness === true; // true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM