【发布时间】:2020-05-27 14:24:54
【问题描述】:
我试图了解 Javascript 方法在幕后是如何工作的。
首先,我在 chrome 的控制台中使用 var 关键字创建了一个变量,并尝试为其添加一个方法:
var name1 = 'SARA';
name1.toLowerCase();
name1 返回sara。
在此之后,我尝试使用 let 关键字做同样的事情:
let name2 = 'SARA';
name2.toLowerCase();
正如预期的那样,我们又收到了sara。但是:
如果我尝试返回像这样的名称变量,我会得到 undefined for name2,它是使用 let 关键字声明的!
let name2 = 'SARA';
window.myname
undefined
toLowerCase 方法是如何工作的?如果使用let 关键字声明变量使其在窗口对象中变为undefined,它如何仍然适用于这种数据?!
像 toLowerCase 这样的 Javascript 方法是否附加到窗口对象?
我们能否创建新的方法,例如 toLowerCase,我们可以在我们的代码中使用它们?
例如,是否有任何解决方案可以创建这样的内容:
var name3 = 'Sara is a pretty girl';
name3.addDotToEnd();
window.name3
'Sara is a pretty girl.'
【问题讨论】:
-
这能回答你的问题吗? How does toLowerCase() work in Javascript?
-
"有什么解决方案可以创建这样的东西" - 不,字符串是不可变的。您不能就地更改它们。
-
window.myname返回undefined因为您根本没有声明它。但假设您的意思是window.name2,那么由于范围界定,它将返回undefined。它与toLowerCase完全无关。
标签: javascript