码迷,mamicode.com
首页 > Web开发 > 详细

js对象字面量

时间:2015-12-23 00:37:58      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:

对象字面量的输出方式以及定义好处

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>

js对象字面量

标签:

原文地址:http://www.cnblogs.com/littlewrong/p/5068489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!