object-literal相关内容

ES6箭头函数:为什么在构造函数和对象文字中使用此箭头时指向不同?

我知道箭头函数从封闭作用域继承this。但是,仍然不能理解为什么在对象文字中定义的箭头函数中的this指向全局对象,而在构造函数中指向创建的对象。 请考虑以下代码: function Obj() { this.show = () => { console.log(this); }; } const o = new Obj(); const o2 = { show: () ..

如何将键/值对添加到 JavaScript 对象?

这是我的对象字面量: var obj = {key1: value1, key2: value2}; 如何向对象添加字段 key3 和 value3? 解决方案 向对象添加新的属性有两种方法: var obj = {键1:值1,键2:值2}; 使用点表示法: obj.key3 = "value3"; 使用方括号表示法: obj["key3"] = "value3"; 当您知 ..
发布时间:2022-01-29 23:13:15 前端开发

对象字面量 vs 构造函数+原型

对象字面量=用大括号括起来的名称值对. 构造函数=用于使用关键字 new 创建多个实例的函数. 原型=用于文字的扩展. 这是我迄今为止所理解的.但是我研究得越多,我就越对它们每个的重要性感到困惑.我在我的代码中使用了几次构造函数、原型和文字.但是每次使用它们时,我觉得我仍然没有意识到它的全部潜力.我现在想在成为初学者之前先走一步.我希望 stackoverflow 的人们帮助我实 ..
发布时间:2021-12-30 15:29:30 前端开发

使用连接的(动态)字符串作为 JavaScript 对象键?

var test = "test123"var test123 ={“键"+ 测试:123} 此代码不起作用."key" + test 有什么问题? 解决方案 因为 “key"+ test 是一个表达式,而不是标识符、字符串文字或数字文字,它们是唯一允许作为对象文字中的键的东西. 在为这样的动态键创建对象后,您必须使用 [] 表示法: var test123 = {};test1 ..
发布时间:2021-12-29 19:07:38 前端开发

JavaScript 对象字面量长度 === 未定义?

我正在研究这个动画功能,但我遇到了问题.我似乎无法执行应该是一项简单的任务,我无法获得对象的长度.如果您查看 jsFiddle,您可以看到我正在运行 alert(properties.length); 并且它返回 undefined.谁能看出为什么会这样? 解决方案 JavaScript 对象只是没有有length属性,只有Arrays做.如果你想知道一个对象上定义的属性的数量,你必须遍历 ..
发布时间:2021-12-11 19:56:19 前端开发

将变量名值对动态添加到 JSON 对象

我有一个充满 ips 的 json 对象,例如 var ips = {} 然后我像这样向这个对象添加 ip 对象 ips[ipID] = {} 然后我需要向每个 ip 添加动态/变量名称值对,所以我使用这样的代码 变量名;无功值;var temp = {};tmp[名称] = 值 我的问题是,如何将这些名称值对/tmp 添加到我的 ipID 对象中,以便我的结果像 ipID = { ..
发布时间:2021-12-11 19:43:56 前端开发

如何向 JavaScript 对象添加键/值对?

这是我的对象字面量: var obj = {key1: value1, key2: value2}; 如何将带有 value3 的字段 key3 添加到对象? 解决方案 有两种方法可以向对象添加新的属性: var obj = {键 1:值 1,键 2:值 2}; 使用点表示法: obj.key3 = "value3"; 使用方括号表示法: obj["key3"] = "val ..
发布时间:2021-11-30 22:40:18 前端开发

对象字面量/初始值设定项中的自引用

有什么办法可以让类似下面的东西在 JavaScript 中工作吗? var foo = {一:5,乙:6,c: this.a + this.b//不起作用}; 在当前形式中,此代码显然会引发引用错误,因为this 不引用foo.但是有没有办法让对象字面量的属性中的值依赖于之前声明的其他属性? 解决方案 好吧,我唯一能告诉你的是 getter: var foo = {一:5,乙:6 ..
发布时间:2021-11-30 21:43:44 前端开发

JavaScript 属性访问:点符号与括号?

除了第一种形式可以使用变量而不仅仅是字符串文字这一显而易见的事实之外,是否有任何理由使用一个而不是另一个,如果是,在什么情况下? 在代码中: //给定:var foo = {'bar': 'baz'};//然后var x = foo['bar'];//对比var x = foo.bar; 上下文:我编写了一个生成这些表达式的代码生成器,我想知道哪个更可取. 解决方案 (来源于 此 ..
发布时间:2021-11-30 21:42:53 前端开发

对象数组排序

我有一个像这样的对象文字数组: var myArr = [];myArr[0] = {'得分':4,'名称':'富'}myArr[1] = {'得分':1,'名称':'酒吧'}myArr[2] = {'得分':3,'name': 'foobar'} 我将如何对数组进行排序,使其按 'score' 参数升序,使其变为: myArr[0] = {'得分':1,'名称':'酒吧'}myArr[1] ..
发布时间:2021-11-18 04:39:35 前端开发

用于标记匿名函数的Javascript“冒号"?

这段代码也指的是什么? queryString: function() {//一些代码} 我在 WebConsole (Firefox) 中对其进行了测试,但它无法执行,因此我认为它不等同于 function queryString() {}. 那究竟是什么? 解决方案 你在那里遗漏了一些代码,但我认为它是这样的对象声明的一部分: var obj = {查询字符串:函数(){/ ..

扩展对象字面量

var x = {名称:“日本",年龄:20}x.prototype.mad = function() {警报(“美国");};x.mad(); 上面的代码不起作用.对象字面量不能扩展?或 x.mad() 不是正确的调用方式. 解决方案 你不能这样做.为了能够使用它的 prototype 定义对象方法和属性,您必须将对象类型定义为构造函数,然后使用 new 运算符创建它的实例.> fu ..
发布时间:2021-06-22 20:06:30 前端开发