js对象字面量
js对象字面量
对象字面量的输出方式以及定义好处
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);
js对象字面量的demo
/** * @author zhanghua */ var literal = { add: function(){ alert("add"); }, del: function(){ alert("delete"); }, update: function(){ alert("update"); }, name: "zhangsan", callLiteral: function(){ // 对于当前字面量对象的调用,要加this关键字 this.add(); } };
html文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Literal--字面量</title> <script type="text/javascript" src="jslib/literal.js"></script> </head> <body> <input type="button" value="add" onclick="javascript:literal.add()"/> <input type="button" value="delete" onclick="javascript:literal.del()"/> <input type="button" value="update" onclick="literal.update()"/> <input type="button" value="name" onclick="javascript:alert(literal.name)"/> <input type="button" value="name" onclick='javascript:alert(literal["name"])'"/> <input type="button" value="caller" onclick='javascript:literal.callLiteral()'"/> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示