增强的对象字面量(自变量)
1.增强的对象字面量
function fn(){
return 100;
}
let name='sui';
let age=19;
let sui={
name,
age,
["pro"+fn()]:"sdfe",
play(){
console.log("我会打大鱼")
}
};
console.log(sui.name)
sui.play();
console.log(sui["pro100"])
对象字面量的输出方式以及定义好处
1.对象字面量的输出方式有两种:传统的‘。’,以及数组方式,只不过用数组方式输出时,方括号里面要用引号括起来,如
var box = {
name:’abc’;
age:28
};
alert(box[‘name’]);
给对象定义方法,
A:如果用传统定义对象的方式,就需要先定义方法,然后再把这个方法名赋值给对象的一个属性,如果要调用这个方法不加括号,就是返回方法代码;如果要调用这个方法该对象属性后面加上括号,就得到方法的返回值
function objrun(){
return ‘123’;
}
var box = new Object();
box.name=’abc’;
box.age = 28;
box.run = objrun;
alert(box.run()); //结果为123
// alert(box.run); //结果为function objrun(){
return ‘123’;
}
//如果box.run = objrun();
//alert(box.run); //结果为123,如果带上圆括号,就报错啦
B:用字面量定义,只需要直接在对象的这个属性上,写function就行,这个function上面没有函数名,他是个匿名函数,那怎么调用这个方法呢,用对象的这个属性名,要调用方法,同上就行
如:
var box = {
name:’abc’,
age:28,
run:function(){
return ‘123’;
}
}
alert(box.run());
2.对象字面量的定义方式,可以轻松搞定函数大量参数需要一一对应输出的情况。他的对策就是给函数传入一个对象,而这个对象是用字面量的方式定义的,属性和值对应的方式可以一目了然他们的关系,因为函数只是一段代码,必须调用才能执行
如:
function AA(obj){
alert(obj.name);
alert(obj.age);
}
var obj = {
name: 'abc',
age: 28
}
AA(obj);
2.对象字面量的demo
/**
* @author zhanghua
*/
var literal = {
add: function(){
alert("add");
},
del: function(){
alert("delete");
},
update: function(){
alert("update");
},
name: "zhangsan",
callLiteral: function(){
// 对于当前字面量对象的调用,要加this关键字
this.add();
}
};
觉的好的给我双击