我不能直接访问对象中的字段,也不能使用getter函数访问
I cannot access fields in my object directly or with a getter function
几个小时以来,我一直在为这个微不足道的问题绞尽脑汁。我只是想做下面的代码显示,它不适合我。它在JSFiddle中工作得很好,但在我的环境中不行。如果你之前读过这篇文章,我转发是因为我很绝望,每个人都发现了打字错误,这并不是真正的问题。我也很遗憾。
如果我定义了一个toString方法,出于某种原因,它可以工作。如果我定义了一个getMid()函数,那就不起作用了。如果我使用toString作为一个hack getMid()函数,它可以工作。我很困惑。我的文档类型或任何其他html/js标题会影响它吗?我用<!DOCTYPE HTML>
。这对我来说在所有浏览器中都失败了,我在另一台电脑上尝试过。谢谢你帮我解开这个谜团。
function Card (first , last , mid) {
this.first = first ;
this.last = last ;
this.mid = mid ;
}
var testArray = [ new Card("A", "B", "C"), new Card("D", "E", "E") ];
alert(testArray[1].mid);
再次感谢你,Dale
编辑,在testArray赋值后添加"optional"分号。
我期待什么,但没有定义。我想我已经缩小范围了。testArray是这样构建的:
alert(availableCardsForSet[0].cost);
for (var int = 0; int < 10 && testArray.length < 10; int++) {
testArray.push(availableCardsForSet.splice(Math.floor(Math.random()*availableCardsForSet.length),1));
}
alert(testArray[0].cost);
alert(testArray[0].toString());
第一个警报给我一个有效的结果。第二个警报未定义。奇怪的是finalSet[0]。toString给我一个有效的结果。所以我认为这可能归结为,我如何在for循环中打破这个东西。当我通过JSLint问题运行它时,我得到以下错误/警告:"第15行字符14:无法设置未定义的属性'first'"第15行是for循环的核心。我感谢所有的回应。
splice函数返回一个包含被删除元素的数组。如果只删除一个元素,则返回一个只有一个元素的数组。(源)
这意味着这段代码将一个包含对象的数组添加到testArray中,而不仅仅是添加对象:
testArray.push(availableCardsForSet.splice(Math.floor(Math.random()*availableCardsForSet.length),1));
它可以很容易地固定使用[0]
testArray.push(availableCardsForSet.splice(Math.floor(Math.random()*availableCardsForSet.length),1)[0]);
下面是一个例子:http://jsfiddle.net/grc4/8Auvm/
我尝试了下面的doctype,它为我工作,
测试浏览器:IE8、Firefox3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
function Card (first, last, mid) {
这一点。
这一点。
这一点。Mid = Mid;}
var testArray =[新卡("A"、"B"、"C"),新卡("D"、"E"、"F")];
警报(testArray [1] .mid);
- IOS自动化:有没有办法;刷新'元素树(或者Instruments'认为可以访问和不能访问的任何内容)
- DOM范围克隆也不能免受DOM更改的影响
- 嵌入式谷歌地图仅在IE上加载,但既不能在Mozilla Firefox上加载,也不能在Google Chrome上加载
- RubyonRails应用程序不能包含样式表也不能包含js
- Jquery-Mobile:Changepage不起作用,如果我指定了pageid,我也不能将数据传递到另一个页面
- 既不能使用JavaScript也不能使用jQuery设置隐藏表单字段
- 即使链接了最新的Jquery库,Jquery也不能在页面上工作
- 即使导入了Jquery函数,也不能定义它
- 我不能直接访问对象中的字段,也不能使用getter函数访问
- 即使在关闭后也不能从引导模式中清除错误消息
- 不能使用jquery禁用锚标签.没有"disabled&;也不能在ajax调用()期间使用e.p preven
- 谷歌地图不能点击,也不能在Magento主页上平移
- Ng-if和ng-class-even/odd不能很好地一起工作,也不能得到期望的结果
- 即使加载了UJS, Rails DELETE调用也不能工作
- 即使添加了很多延迟,Focus在IE中也不能工作
- 即使部署到服务器上,AngularJS应用程序也不能读取本地文本文件
- Javascript在chrome中工作,但即使在安全模式下也不能在Firefox中工作
- jQuery在firefox上不能很好地工作,在Safari上也不能工作
- Google Map Custom InfoWindow's Tail不能移动,也不能移除下拉阴影
- HTML中的列表即使在应用了溢出和换行后也不能水平显示