我一直在学习初学者js,并且使用文字来创建对象。代码如下:
<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()
功能就不会显示任何内容。
请有人帮我指出错误。
答案 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);
}
}