/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* * * Date: 05 June 2003 * SUMMARY: Testing |with (f)| inside the definition of |function f()| * * See http://bugzilla.mozilla.org/show_bug.cgi?id=208496 *
*/ //----------------------------------------------------------------------------- var UBound = 0; var BUGNUMBER = 208496; var summary = 'Testing |with (f)| inside the definition of |function f()|'; var status = ''; var statusitems = []; var actual = '(TEST FAILURE)'; var actualvalues = []; var expect= ''; var expectedvalues = [];
/* * GLOBAL SCOPE
*/ function f(par)
{ var a = par;
with(f)
{ var b = par;
actual = b;
}
}
status = inSection(1);
f('abc'); // this sets |actual|
expect = 'abc';
addThis();
/* * EVAL SCOPE
*/ var s = '';
s += 'function F(par)';
s += '{';
s += ' var a = par;';
s += ' with(F)';
s += ' {';
s += ' var b = par;';
s += ' actual = b;';
s += ' }';
s += '}';
s += 'status = inSection(3);';
s += 'F("abc");'; // sets |actual|
s += 'expect = "abc";';
s += 'addThis();';
s += 'status = inSection(4);';
s += 'F(111 + 222);'; // sets |actual|
s += 'expect = 333;';
s += 'addThis();';
eval(s);
/* * FUNCTION SCOPE
*/ function g(par)
{ // Add outer variables to complicate the scope chain - var a = '(TEST FAILURE)'; var b = '(TEST FAILURE)';
h(par);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.