当我在javascript控制台中输入此代码时,这不是通过错误,而是运行。
var a = {
b:"123",
update(){
console.log("hello");
}
}
问题是,update()
没有函数关键字,当我检查对象a
的属性时,我得到:
b: "123"
update: function ()
__proto__: Object
javascript实际上在这里做什么?
答案 0 :(得分:5)
在ECMA Script 6中,您可以在创建对象时定义对象的属性,而不需要:
。
例如,
var data = 100;
var a = { data };
console.log(a);
// { data: 100 }
同样,在您的情况下,您要创建两个属性,一个称为b
,另一个称为update
,其中b
为100,update
实际上是update
一个名为var a = {
b: "123",
update: function update() {
console.log("hello");
}
}
的函数对象。
详细了解here
注意:这只是ECMA Script 6中引入的简写符号。您仍然可以使用ECMA Script 5方式创建属性函数,例如
IF (@psRegionCode <> 0)
BEGIN
SET @sSQLStr = @sSQLStr +
' AND reg.region_cd = ' + cast(@psRegionCode as nvarchar(10))
答案 1 :(得分:0)
创建javascript对象的语法是:
var bgPoly = canvas.append('polygon')
.style('fill', '#ff9900')
.attr('points','282.0000915527344,104,280.0001220703125,165.00009155273438,349,174.99998474121094,345.00006103515625,105.99999237060547,282.0000915527344,104')
这里fullnme是对象的一个方法,可以使用以下方法访问: -
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
因为你的代码中有()
person.fullname()
Javascript将其理解为一种功能。希望这个解释有所帮助。