Javascript 为什么在使用jQuery调整宽度和高度时需要花括号?

Javascript 为什么在使用jQuery调整宽度和高度时需要花括号?,javascript,jquery,object-literal,Javascript,Jquery,Object Literal,下面的代码可以将对象的宽度和高度加倍。我就是不明白为什么需要花括号 var target = $('#target'); target.css({ width: target.width() * 2, height: target.height() * 2 }); 我想你得用这个 var target=$('#target'); target.css("width",target.width()*2); target.css("height",target.height()*2

下面的代码可以将对象的宽度和高度加倍。我就是不明白为什么需要花括号

var target = $('#target');
target.css({
    width: target.width() * 2,
    height: target.height() * 2
});

我想你得用这个

var target=$('#target');
target.css("width",target.width()*2);
target.css("height",target.height()*2);

设置多个
CSS
属性需要大括号
{}
。您正在尝试设置
宽度
高度


只需了解更多信息,这里有一个官方的

需要花括号,因为您将对象文本作为参数传递给jQuery
.css
函数。根据说明,您可以这样使用它:

.css(属性)
属性
类型:PlainObject
要设置的属性值对的对象

因此
宽度
高度
不是两个不同的参数。它们是单个对象的两个不同特性,其中特性名称是要更改的样式,特性值是要更改的值

关于对象文字有以下说明:

对象文字是对象的零对或多对属性名和关联值的列表,用大括号({})括起来

如果出于某种原因希望避免使用对象文字,可以这样做:

target.css("width", target.width()*2);
target.css("height", target.height()*2);
或者这个:

target.width(target.width()*2);
target.height(target.height()*2);

不,OP的代码很好。他在问大括号的作用是什么。如果你想在jQuery的单行中使用多个属性,你必须使用{}。嘿。。。我举起了一个“不回答”的旗子,这引起了争议。。。你的被连根拔起了。:)大括号是用于定义对象的JS语法,提供给
css()
方法。该对象可用于包含多个属性,这些属性应在一次调用中更新。由于javascript对命名参数没有直接的语法支持,因此它使用传递对象文本的习惯用法来实现相同的功能。