语法专题参考问题

什么是强制类型转换?

强制转换主要指使用Number()、String()和Boolean()三个函数,手动将各种类型的值,分别转换成数字、字符串或者布尔值。

Number函数 和 parseInt函数的区别?

Number函数将字符串转为数值,要比parseInt函数严格很多。基本上,只要有一个字符无法转成数值,整个字符串就会被转为NaN。

Number方法的参数是对象时的处理?

将返回NaN,除非是包含单个数值的数组。

String方法背后的转换规则与Number方法的区别?

基本相同,只是互换了valueOf方法和toString方法的执行顺序。

为何所有对象的布尔值都是true?

出于性能的考虑,如果对象需要计算才能得到布尔值,对于obj1 && obj2这样的场景,可能会需要较多的计算。为了保证性能,就统一规定,对象的布尔值为true。

自动转换的规则是?

预期什么类型的值,就调用该类型的转换函数。

自动转换需要注意什么?

由于自动转换具有不确定性,而且不易除错,建议在预期为布尔值、数值、字符串的地方,全部使用Boolean、Number和String函数进行显式转换

所有Error实例对象必须有属性是?

message属性,表示出错时的提示信息

Error的6个派生对象是?

  • SyntaxError对象是解析代码时发生的语法错误;
  • ReferenceError对象是引用一个不存在的变量时发生的错误;
  • RangeError对象是一个值超出有效范围时发生的错误;
  • TypeError对象是变量或参数不是预期类型时发生的错误;
  • URIError对象是 URI 相关函数的参数不正确时抛出的错误;
  • eval函数没有被正确执行时,会抛出EvalError错误;

throw语句的作用是?

手动中断程序执行,抛出一个错误

finally代码块的作用?

表示不管是否出现错误,都必需在最后运行的语句;

为何建议switch...case结构可以用对象结构代替?

  • 在每一个case的最后一行必须是break语句,否则会接着运行下一个case。这样不仅容易忘记,还会造成代码的冗长;
  • switch...case不使用大括号,不利于代码形式的统一;

console的常见用途有?

  • 调试程序,显示网页代码运行时的错误信息。
  • 提供了一个命令行接口,用来与网页代码互动。

debugger 语句的作用?

主要用于除错,作用是设置断点

你可能感兴趣的:(语法专题参考问题)