gpt4 book ai didi

JavaScript : Is using 'new' every time for a variable the correct way to change its value repeatedly?

转载 作者:行者123 更新时间:2023-11-30 00:05:26 26 4
gpt4 key购买 nike

我是 javascript 和 angularjs 的新手。我正在使用以下代码将值添加到我的 angularjs Controller 中的 testvalues 变量,该 Controller 绑定(bind)到我的 html 中的表。这是正确的方法吗?

$scope.testvalues = [];
var testvalue ;

testvalue = new Object();
testvalue["name"] = "xyz";
testvalue["size"] = 1024;
$scope.testvalues.push(testvalue);

testvalue = new Object();
testvalue["name"] = "abc";
testvalue["size"] = 2048;
$scope.testvalues.push(testvalue);

是每次都使用 new 覆盖现有内存还是分配新内存并取消引用旧内存?

最佳答案

任何时候你使用赋值,旧的引用只会被那个单一变量覆盖。所以是的,它会分配新内存,并且您推送的对象将保持不变。

new 关键字对于声明对象不是必需的。由于 JavaScript 是动态类型的,因此变量声明本身不会分配内存。这一切都根据需要即时发生。例如,您可以使用 {} 而不是 new Object()。就像如何使用 "" 代替 new String(),或者使用 [] 代替 new Array()function(){} 而不是 new Function()。使用语法文字总是更可取,因为它更短、更快,并且不能被重新定义任何类的人篡改。

使用数组和对象字面量语法,您的代码可能会简单得多:

$scope.testvalues = [{
name: "xyz",
size: 1234
}, {
name: "abc",
size: 2048
}];

关于JavaScript : Is using 'new' every time for a variable the correct way to change its value repeatedly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38712032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com