我是初学者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
答案 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.lenght
是undefined
,并且它试图读取undefined
类型的属性。
var foo = 'str';
console.log(foo.lenght.len);