在这篇关于 JavaScript 严格模式的 MDN 文档中,在“函数调用中的语义差异 ->this ”下,提到了:
当使用call或apply调用函数时,如果该值是原始值,则该值将被装箱到一个对象中(或 undefined 和 null 的全局对象)。严格模式下,直接传递值,不进行转换或替换。
我需要对这个声明进行澄清。当我对此进行测试时,我没有看到基于代码模式(严格或马虎)的任何差异。
如果我误解了该声明,请告诉我。
这就是我测试的方式:
(function() {
function a() {
console.log(this);
}
function b() {
"use strict";
a.call(2);
}
function c() {
a.call(3);
}
b();
c();
})();Run Code Online (Sandbox Code Playgroud)
结果 :
在 PHP 等语言中,我们可以执行以下操作:
>>> echo "cat is"." not"." dead"
cat is not dead
>>> echo "cat is"/*." not"*/." dead"
cat is dead
Run Code Online (Sandbox Code Playgroud)
我在第二行所做的是,使用 PHP 的多行注释功能注释掉其中的一部分。
请让我知道如何在 Python 中执行相同的操作,而不将代码行分成单独的行。
谢谢..!