- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
在本教程中,您将借助示例了解 JavaScript 的“严格模式”语法。
在 JavaScript 中,‘use strict’; 声明代码应该在“严格模式”下执行。这使得编写良好且安全的 JS 代码变得更加容易。例如,
myVariable = 9;
这里,myVariable 是在没有声明的情况下创建的,在 JavaScript 中用作全局变量。但是,如果在严格模式下使用它,程序会抛出错误。例如,
'use strict';
// Error
myVariable = 9;
上面的代码会抛出错误,因为 myVariable 未声明。在严格模式下,您不能在不声明变量的情况下使用它们。
为了表明该程序处于严格模式,我们在程序的顶部使用了:
'use strict';
您可以通过在程序开头添加 ‘use strict’; 或 “use strict”; 来声明严格模式。
当您在程序开始声明严格模式时,它将具有全局范围,并且程序中的所有代码都将在严格模式下执行。
在严格模式下,使用变量而不声明变量会引发错误。
注意:您需要在程序开始时声明严格模式。如果您在某些代码下面声明严格模式,它将不起作用。例如,
console.log("some code");
// 'use strict' is ignored
// must be at the top
"use strict";
x = 21; // does not throw an error
您还可以在函数内使用严格模式。例如,
myVariable = 9;
console.log(myVariable); // 9
function hello() {
// applicable only for this function
'use strict';
string = 'hello'; // throws an error
}
hello();
如果在函数内部使用 ‘use strict’; ,函数内部的代码将处于严格模式。在上面的程序中,hello() 函数里面用到了 ‘use strict’; 。因此,严格模式仅适用于函数内部。
如您所见,在程序的开头,myVariable 没有声明就使用了。
如果在程序的顶部声明 ‘use strict’; ,在使用变量之前一定要在函数内部声明它。例如,
// applicable to whole program
'use strict';
function hello() {
string = 'hello'; // throws an error
}
hello();
注意:严格模式不适用于带大括号 { } 的块语句。
'use strict';
a = 'hello'; // throws an error
'use strict';
person = {name: 'Carla', age: 25}; // throws an error
'use strict';
let person = {name: 'Carla'};
delete person; // throws an error
"use strict";
function hello(p1, p1) { console.log('hello')}; // throws an error
hello();
'use strict';
let obj1 = {};
Object.defineProperty(obj1, 'x', { value: 42, writable: false });
// assignment to a non-writable property
obj1.x = 9; // throws an error
'use strict';
let obj2 = { get x() { return 17; } };
// assignment to a getter-only property
obj2.x = 5; // throws an error
'use strict';
let obj = {};
Object.preventExtensions(obj);
// Assignment to a new property on a non-extensible object
obj.newValue = 'new value'; // throws an error
'use strict';
let a = 010; // throws an error
'use strict';
let arguments = 'hello'; // throws an error
let eval = 44;
严格模式的使用:
上一教程 :JS this 下一教程 :Iterators and Iterables
[1] Parewa Labs Pvt. Ltd. (2022, January 1). Getting Started With JavaScript, from Parewa Labs Pvt. Ltd: https://www.programiz.com/javascript/use-strict
我在优化 JOIN 以使用复合索引时遇到问题。我的查询是: SELECT p1.id, p1.category_id, p1.tag_id, i.rating FROM products p1
我有一个简单的 SQL 查询,我正在尝试对其进行优化以删除“使用位置;使用临时;使用文件排序”。 这是表格: CREATE TABLE `special_offers` ( `so_id` int
我有一个具有以下结构的应用程序表 app_id VARCHAR(32) NOT NULL, dormant VARCHAR(6) NOT NULL, user_id INT(10) NOT NULL
此查询的正确索引是什么。 我尝试为此查询提供不同的索引组合,但它仍在使用临时文件、文件排序等。 总表数据 - 7,60,346 产品= '连衣裙' - 总行数 = 122 554 CREATE TAB
为什么额外的是“使用where;使用索引”而不是“使用索引”。 CREATE TABLE `pre_count` ( `count_id`
我有一个包含大量记录的数据库,当我使用以下 SQL 加载页面时,速度非常慢。 SELECT goal.title, max(updates.date_updated) as update_sort F
我想知道 Using index condition 和 Using where 之间的区别;使用索引。我认为这两种方法都使用索引来获取第一个结果记录集,并使用 WHERE 条件进行过滤。 Q1。有什
I am using TypeScript 5.2 version, I have following setup:我使用的是TypeScript 5.2版本,我有以下设置: { "
I am using TypeScript 5.2 version, I have following setup:我使用的是TypeScript 5.2版本,我有以下设置: { "
I am using TypeScript 5.2 version, I have following setup:我使用的是TypeScript 5.2版本,我有以下设置: { "
mysql Ver 14.14 Distrib 5.1.58,用于使用 readline 5.1 的 redhat-linux-gnu (x86_64) 我正在接手一个旧项目。我被要求加快速度。我通过
在过去 10 多年左右的时间里,我一直打开数据库 (mysql) 的连接并保持打开状态,直到应用程序关闭。所有查询都在连接上执行。 现在,当我在 Servicestack 网页上看到示例时,我总是看到
我使用 MySQL 为我的站点构建了一个自定义论坛。列表页面本质上是一个包含以下列的表格:主题、上次更新和# Replies。 数据库表有以下列: id name body date topic_id
在mysql中解释的额外字段中你可以得到: 使用索引 使用where;使用索引 两者有什么区别? 为了更好地解释我的问题,我将使用下表: CREATE TABLE `test` ( `id` bi
我经常看到人们在其Haxe代码中使用关键字using。它似乎在import语句之后。 例如,我发现这是一个代码片段: import haxe.macro.Context; import haxe.ma
这个问题在这里已经有了答案: "reduce" or "apply" using logical functions in Clojure (2 个答案) 关闭 8 年前。 “and”似乎是一个宏,
这个问题在这里已经有了答案: "reduce" or "apply" using logical functions in Clojure (2 个答案) 关闭 8 年前。 “and”似乎是一个宏,
我正在考虑在我的应用程序中使用注册表模式来存储指向某些应用程序窗口和 Pane 的弱指针。应用程序的一般结构如下所示。 该应用程序有一个 MainFrame 顶层窗口,其中有几个子 Pane 。可以有
奇怪的是:。似乎a是b或多或少被定义为id(A)==id(B)。用这种方式制造错误很容易:。有些名字出人意料地出现在Else块中。解决方法很简单,我们应该使用ext==‘.mp3’,但是如果ext表面
我遇到了一个我似乎无法解决的 MySQL 问题。为了能够快速执行用于报告目的的 GROUP BY 查询,我已经将几个表非规范化为以下内容(该表由其他表上的触发器维护,我已经同意了与此): DROP T
我是一名优秀的程序员,十分优秀!