Javascript:使用文字创建对象

时间:2014-12-23 23:09:44

标签: javascript

我一直在学习初学者js,并且使用文字来创建对象。代码如下:

jsfiddle

<script>

    var phone= {
    name : "iPhone",
    brand : "Apple",
    version : "5",
    edition : function(){
        alert("The cellphone's Version  is iPhone" + this.version);
    };

    function demo(){
         console.log(phone.brand); 
         console.log(phone.version); 
         console.log(phone.name); 
    }

</script>
<p>Click the button below</p>
<button onclick="demo();">JS Object Literals</button>

但是,只要单击该按钮,demo()功能就不会显示任何内容。

请有人帮我指出错误。

2 个答案:

答案 0 :(得分:1)

问题是语法错误。

你错过了最后的};不应该出现在函数之后

var phone= {
    name : "iPhone",
    brand : "Apple",
    version : "5",
    edition : function(){
        alert("The cellphone's Version  is iPhone" + this.version);
    }
};

http://jsfiddle.net/gaby/cr8nbjvw/2/

演示

在jsfiddle直接从DOM元素属性调用函数时,您需要在下拉列表(顶部/左侧)选择 No wrap - in <head> 选项,以便您的方法是全局的。

答案 1 :(得分:0)

你在html中的js +中混合了大括号,你必须拨打phone.demo()

在jsfiddle中,如果你想从html访问手机,请不要先放置var(它使其成为特定js闭包的私有,而不能访问全局空间)

HTML

<button onclick="phone.demo();">JS Object Literals</button>

JS

phone= {
    name : "iPhone",
    brand : "Apple",
    version : "5",
    edition : function(){
        alert("The cellphone's Version  is iPhone" + this.version);
    },
    demo: function(){
        console.log(phone.brand); 
        console.log(phone.version); 
        console.log(phone.name); 
    }
}