summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/scroll-to-text-fragment/resources/text-javascript.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/scroll-to-text-fragment/resources/text-javascript.js')
-rw-r--r--testing/web-platform/tests/scroll-to-text-fragment/resources/text-javascript.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/testing/web-platform/tests/scroll-to-text-fragment/resources/text-javascript.js b/testing/web-platform/tests/scroll-to-text-fragment/resources/text-javascript.js
new file mode 100644
index 0000000000..b75d40dcde
--- /dev/null
+++ b/testing/web-platform/tests/scroll-to-text-fragment/resources/text-javascript.js
@@ -0,0 +1,31 @@
+// Taken from https://en.wikipedia.org/wiki/JavaScript
+
+// Declares a function-scoped variable named `x`, and implicitly assigns the
+// special value `undefined` to it. Variables without value are automatically
+// set to undefined.
+var x;
+
+// Variables can be manually set to `undefined` like so
+var x2 = undefined;
+
+// Declares a block-scoped variable named `y`, and implicitly sets it to
+// `undefined`. The `let` keyword was introduced in ECMAScript 2015.
+let y;
+
+// Declares a block-scoped, un-reassignable variable named `z`, and sets it to
+// a string literal. The `const` keyword was also introduced in ECMAScript 2015,
+// and must be explicitly assigned to.
+
+// The keyword `const` means constant, hence the variable cannot be reassigned
+// as the value is `constant`.
+const z = "this value cannot be reassigned!";
+
+// Declares a variable named `myNumber`, and assigns a number literal (the value
+// `2`) to it.
+let myNumber = 2;
+
+// Reassigns `myNumber`, setting it to a string literal (the value `"foo"`).
+// JavaScript is a dynamically-typed language, so this is legal.
+myNumber = "foo";
+
+const target = "foo";