1、数据类型
有七个原始数据类型:
字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Object、Symbol。
注1:Object包括Function,Array,Date等
注2:Symbol 是ES6中引入的一种新的基础数据类型,表示独一无二的值,最大的用法是用来定义对象的唯一属性名。
由于每一个 Symbol 的值都是不相等的,所以 Symbol 作为对象的属性名,可以保证属性不重名。
let sy = Symbol("KK");
console.log(sy); // Symbol(KK)
typeof(sy); // "symbol"
// 相同参数 Symbol() 返回的值不相等
let sy1 = Symbol("kk");
sy === sy1; // false
2、typeof 和 instanceof
typeof 判断一个变量或表达式是什么数据类型,但会数据类型;
instanceof 判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上;常用来判断一个对象是否是数组,或者判断某个变量是否是某个对象的实例时,返回true/false。
typeof
有2种使用方式:typeof(表达式)和typeof 变量名
typeof是一元运算符,用来返回操作数类型的字符串;
typeof一般只有一个实际应用场景,就是用来检测一个对象是否已经定义或者是否已经赋值;
使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},
而不要去使用if(a)因为如果a不存在(未声明)则会出错;
typeof遇到null,数组,对象时都会返回object类型,这时要用到instanceof
instanceof
var a=new Array();
console.log(a instanceof Array); // true
console.log(a instanceof Object); // true
instanceof 左操作数是一个类,右操作数是标识对象的类。如果左侧的对象是右侧类的实例,则返回true.
3、Error对象
抛出异常。
Error 的构造:
new Error();
new Error(message);
参数:
message:一条可选的错误消息,用于提供关于该异常的细节。
描述:
一个新构建的 Error 对象。如果指定 message 参数,则该 Error 对象将它用做它的 message 属性值。
其他情况下,它将使用一个预定于的默认字符串作为该属性的值。
当不使用 new 操作符,直接将 Error() 构造函数像一个函数一样调用时,它的行为和带 new 操作符调用时一样。
Error类实例表示的错误或异常通常配合 throw 和 try/catch 语句一起使用。
实例1:
function fun1( x ) {
if ( x < 0 ) {
throw new Error("x 小于 0 了");
}
else {
return 1;
}
}
fun1 (1); // 1
fun1 (-1); // 报错,Uncaught Error: x 小于 0 了
try {
fun1( -1 );/* 抛出异常,进入catch */
} catch ( e ) {
if ( e instanceof Error ) {
console.log( e.name + ":" + e.message );
}
} // 会打印:Error:x 小于 0 了
4、Console 对象
是宿主对象(也就是游览器)提供的内置对象,访问调试控制台,用于 JavaScript 调试
详细用法参考
console.log('hello');
console.info('信息');
console.error('错误');
console.warn('警告');
console.log("%d年%d月%d日",2011,3,26);// 2011年3月26日
//%o可展开的DOM,%O列出DOM的属性
// 格式成可展开的的DOM,像在开发者工具Element面板那样可展开
console.log('%o',document.body.firstElementChild);
// 像JS对象那样访问DOM元素,可查看DOM元素的属性
console.log('%O',document.body.firstElementChild);
console.log("%c菜鸟教程!","color: red; font-size: 20px"); //输出红色的、20px大小的字符串:菜鸟教程,欢迎您!
等等......
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。