为什么str.length中的拼写错误不会在JS中显示错误

时间:2018-06-29 06:10:52

标签: javascript console string-length misspelling

我是初学者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

2 个答案:

答案 0 :(得分:0)

“ something” .lenght(或其他任何东西,“ something” .foobar)的值将为“ undefined”(大致等于null)。

它不会像其他一些语言一样抛出异常

答案 1 :(得分:0)

foo.lenght不会引发错误,但会返回undefined。原因是foo是一个String类型的变量,当它尝试调用属性lenght(无效)时,它没有在其原型中得到它。因此,它返回undefined而不是错误。

var foo = 'str';
console.log(foo.lenght);

但是,如果您尝试访问foo.lenght中的其他属性,例如foo.lenght.len,则会出现错误,因为此时foo.lenghtundefined,并且它试图读取undefined类型的属性。

var foo = 'str';
console.log(foo.lenght.len);