是否有可能遵守此条件是js?

问题描述 投票:-1回答:1

enter image description here

我必须使变量x通过js中的条件。

javascript
1个回答
1
投票

确定,..

这显然是给您的一个技巧性问题。

[大多数人忘记的是,当您看到类似-if (x == true)等内容时,x可以表示2个东西,一个变量x,但也可以表示一个全局x,在浏览器中是窗口。

现在window是一个对象,因此这意味着我们可以像其他任何对象一样附加属性获取器。

因此,下面的示例基本上在窗口上创建一个属性x,该属性在每次调用时都会更改,并允许我们获取秘密:)

var a = [true, false, 42, 'x', 'y']; //our values

Object.defineProperty(
  window, 'x', 
  {get: () => a.shift()}); 
  
  
//now lets test.. do we get the secret flag?  
if ((x==true)&&(x==false)&(x==42)&&(x!=x)) {
  console.log("[secret_flag]"); 
} else {
  console.log("Nope");
}
© www.soinside.com 2019 - 2024. All rights reserved.