13

Rect()Firefox と Chrome の両方に存在する関数に出くわしました(IE 10 にはありません):

typeof Rect; // "function"
Rect;        // function Rect() { [native code] }

ただし、この関数には直接アクセスすることも、コンストラクタとしてアクセスすることもできません。

Rect();     // TypeError: Illegal constructor
new Rect(); // TypeError: Illegal constructor

この関数の目的は何ですか?

4

2 に答える 2

11

は、ドキュメント オブジェクト モデル (DOM) レベル 2 スタイル仕様Rectで定義されたインターフェイスであり、DOM バインディング (ブラウザーでの Javascript DOM バインディングなど)で CSS を処理するときに使用されます。rect()

お気づきのように、自分でコンストラクターとして呼び出すことはできませんが、このインターフェイスを実装するオブジェクトはさまざまな関数によって返されます.getRectValue()

function doSomething(v) {
  if (v instanceof Rect) {
    ...
  }
  else {
    ...
  }
}
doSomething(window.getComputedStyle(elem, null).
  getPropertyCSSValue(styleProp).getRectValue());
于 2013-09-15T17:39:23.657 に答える
0

最近では DOMRect を作成できます:

var myDOMRect = new DOMRect(x, y, width, height);

https://developer.mozilla.org/en-US/docs/Web/API/DOMRect/DOMRectを参照してください

于 2021-01-19T18:26:34.223 に答える