JavaScript";这";关键字基于属性名称的不同行为
然而,我遇到(制作)了一个例子,根据属性名称,它的行为有所不同JavaScript";这";关键字基于属性名称的不同行为,javascript,html,Javascript,Html,然而,我遇到(制作)了一个例子,根据属性名称,它的行为有所不同 在案例1中,它打印未定义(这是可以理解的) 在案例2中,它要么不打印任何内容(FF 54),要么打印一些不寻常的代码(在运行此脚本时看到) 问题 为什么更改属性名称时会出现不同的行为 测验 “严格使用”; 案例1 让myAbstractObject2={ text1:“someText”, someMethod1(){ document.write(`[Output]text1=${this.text1}!`); } };
- 在案例1中,它打印未定义(这是可以理解的)
- 在案例2中,它要么不打印任何内容(FF 54),要么打印一些不寻常的代码(在运行此脚本时看到)
测验
“严格使用”;
- 案例1
让myAbstractObject2={
text1:“someText”,
someMethod1(){
document.write(`[Output]text1=${this.text1}!
`);
}
};
myAbstractObject2.someMethod1();
(true?myAbstractObject2.someMethod1:null)();
- 案例2
让myAbstractObject3={
名称:“someText”,
someMethod1(){
document.write(`[Output]name=${this.name}!
`);
}
};
myAbstractObject3.someMethod1();
(true?myAbstractObject3.someMethod1:null)();
在第2种情况下,将引用此名称。这就是为什么你会得到一个GUID
它与案例1基本相同(此
归结为窗口全局属性),只是您使用了一个关键字,该关键字是窗口全局属性的定义属性。在案例2中,此名称将引用。这就是为什么你会得到一个GUID
它基本上与案例1相同(此
归结为窗口全局属性),只是您使用了一个关键字,该关键字是窗口全局属性的定义属性。是否可能从li对象获取name属性?如果使用say name2或text2,会得到相同的结果吗?@Tommy属性取自窗口
,请参阅@UlysseBN ok cool,因此我的想法是正确的,但对象是错误的。是否可能是从li对象获取name属性?如果使用say name2或text2,会得到相同的结果吗?@Tommy属性取自窗口,请参见@UlysseBN ok cool,因此我的想法是正确的,只是对象是错误的。@naaz这个答案适合你的问题吗?我在教程中还没有做足够的工作来完全理解答案。但这确实有道理。@naaz这个答案适合你的问题吗?我在教程中还没有做得足够深入,无法完全理解答案。但这是有道理的。