摘要:如果左侧的对象是右侧类的实例,则返回对象抛出异常。其他情况下,它将使用一个预定于的默认字符串作为该属性的值。当不使用操作符,直接将构造函数像一个函数一样调用时,它的行为和带操作符调用时一样。
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大小的字符串:菜鸟教程,欢迎您!
等等......
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/104886.html
摘要:因为工作中一直在使用,也一直以来想总结一下自己关于的一些知识经验。于是把一些想法慢慢整理书写下来,做成一本开源免费专业简单的入门级别的小书,提供给社区。本书的后续可能会做成视频版本,敬请期待。本作品采用署名禁止演绎国际许可协议进行许可 React.js 小书 本文作者:胡子大哈本文原文:React.js 小书 转载请注明出处,保留原文链接以及作者信息 在线阅读:http://huzi...
摘要:开头介绍记录一个做看答案学到的小知识。。。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 1.开头介绍 记录一个做leetcode看答案学到的小知识。。。浅拷贝实现一些特殊的功能的一些应用场景 2.正文比如:我们有一个需求如下 { val:0, child:null ...
摘要:下面我们来介绍一下什么是正则表达式定义正则也叫规则,是让计算机能够读懂人类的规则,正则都是操作字符串的,正则是一个强大的字符串匹配工具。 传统字符串的方法 1.indexOf ——查找对应字符的位置2.SubString——用来截取字符串3.charAt——在字符串中根据下标去找对应的字符4.Split ——将字符串通过分割符转成数组 传统的小案例 var str = ab...
摘要:对于最终的结果,两种方式确实是相同的。然而,不同的是计算属性是基于它们的依赖进行缓存的。这就意味着只要还没有发生改变,多次访问计算属性会立即返回之前的计算结果,而不必再次执行函数。 vue.js vue.js 的构造 new Vue({}) new new MyComponent() 属性与方法 vue会代理其data对象里所有的属性 例如 data.a=vn.a vm.$i...
摘要:配置默认和中的操作并不能完全满足所有操作需求,有些时候还是需要和打交道。当中提供了属性来帮助我们获取已经挂载元素的节点。当元素在页面上挂载完成以后,就会调用这个函数,并且把这个挂载以后的节点传给这个函数。 配置默认 defaultProps class ExampleComponent extends React.Component{ static defaultProps =...
阅读 3950·2021-11-24 09:39
阅读 1894·2021-11-02 14:41
阅读 917·2019-08-30 15:53
阅读 3551·2019-08-29 12:43
阅读 1288·2019-08-29 12:31
阅读 3158·2019-08-26 13:50
阅读 884·2019-08-26 13:45
阅读 1084·2019-08-26 10:56