什么" var x =" theBomb"在自大狂"做?

时间:2015-10-12 15:58:47

标签: javascript for-in-loop

我正在使用来自GitHub的JavaScript koans并被这个停止:

it("should have the bomb", function () {

  var hasBomb = "theBomb" in megalomaniac;

  expect(hasBomb).toBe(FILL_ME_IN);
});

我从没见过建筑

var x = "y" in object;   

之前和我不确定它在做什么。 公案希望hasBomb是真的。

3 个答案:

答案 0 :(得分:2)

该声明由两部分组成:

  1. SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 12 17:34:32 2015 Copyright (c) 1982, 2011, Oracle. All rights reserved. Enter password: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production With the Partitioning, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> create or replace procedure test 2 as 3 begin 4 null; 5 end test; 6 / Procedure created. SQL> show errors; No errors. SQL> 检查对象"theBomb" in megalomaniac;(或其原型链)中是否存在名为theBomb的属性。见in Operator
  2. megalomaniac将该检查的值(var hasBomb = "theBomb" in megalomaniac;true)分配给变量false
  3. 示例:

    hasBomb

答案 1 :(得分:1)

a in b检查对象b是否具有属性a

注意:它还会通过原型链进行检查。

如果您不需要检查整个原型链,则可以使用此代码。

b.hasOwnProperty(a);

答案 2 :(得分:0)

直接从documentation

  

//自定义对象
  var mycar = {make:“Honda”,型号:“Accord”,年份:1998};
  在mycar中“make”//返回true   mycar中的“model”//返回true

所以在你的情况下,对象megalomaniac可能有也可能没有属性theBomb,这个代码(可能是某种单元测试)正在检查它。