为什么 str.length 中的拼写错误在 JS 中不显示错误
Why wrong spelling in str.length doesn't show an error in JS
我是初学者javascript开发者,我写了这段代码:
var foo = "sunny";
var longitudInt = foo.length;
console.log("The length of " + foo + " is " + longitudInt);
但是我写foo.length的时候写错了,写了foo.lenght,但是在控制台却没有显示错误,为什么呢?
It doesn't show an error
"something".lenght(或任何东西,"something".foobar)的值将是“undefined”(大致相当于 null)。
它不会像其他一些语言那样抛出异常
foo.lenght
不会引发错误,但会 return undefined
。这样做的原因是 foo
是一个 String
类型的变量,当它尝试调用 属性 lenght
(无效)时,它不会在它的原型。因此,它 return 带有 undefined
而不是错误。
var foo = 'str';
console.log(foo.lenght);
但是,如果您尝试访问 foo.lenght
中的其他属性,比如 foo.lenght.len
那么这会给您错误,因为此时 foo.lenght
是 undefined
并且它尝试读取 undefined
类型的 属性。
var foo = 'str';
console.log(foo.lenght.len);
我是初学者javascript开发者,我写了这段代码:
var foo = "sunny";
var longitudInt = foo.length;
console.log("The length of " + foo + " is " + longitudInt);
但是我写foo.length的时候写错了,写了foo.lenght,但是在控制台却没有显示错误,为什么呢? It doesn't show an error
"something".lenght(或任何东西,"something".foobar)的值将是“undefined”(大致相当于 null)。
它不会像其他一些语言那样抛出异常
foo.lenght
不会引发错误,但会 return undefined
。这样做的原因是 foo
是一个 String
类型的变量,当它尝试调用 属性 lenght
(无效)时,它不会在它的原型。因此,它 return 带有 undefined
而不是错误。
var foo = 'str';
console.log(foo.lenght);
但是,如果您尝试访问 foo.lenght
中的其他属性,比如 foo.lenght.len
那么这会给您错误,因为此时 foo.lenght
是 undefined
并且它尝试读取 undefined
类型的 属性。
var foo = 'str';
console.log(foo.lenght.len);