资讯专栏INFORMATION COLUMN

js的小知识点

褰辩话 / 3361人阅读

摘要:如果左侧的对象是右侧类的实例,则返回对象抛出异常。其他情况下,它将使用一个预定于的默认字符串作为该属性的值。当不使用操作符,直接将构造函数像一个函数一样调用时,它的行为和带操作符调用时一样。

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 小书 本文作者:胡子大哈本文原文:React.js 小书 转载请注明出处,保留原文链接以及作者信息 在线阅读:http://huzi...

    Scorpion 评论0 收藏0
  • 记录一个关于内存拷贝(浅拷贝)和js链表的小识点

    摘要:开头介绍记录一个做看答案学到的小知识。。。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 1.开头介绍 记录一个做leetcode看答案学到的小知识。。。浅拷贝实现一些特殊的功能的一些应用场景 2.正文比如:我们有一个需求如下 { val:0, child:null ...

    hedge_hog 评论0 收藏0
  • JS中的正则表达式的小知识总结

    摘要:下面我们来介绍一下什么是正则表达式定义正则也叫规则,是让计算机能够读懂人类的规则,正则都是操作字符串的,正则是一个强大的字符串匹配工具。 传统字符串的方法 1.indexOf ——查找对应字符的位置2.SubString——用来截取字符串3.charAt——在字符串中根据下标去找对应的字符4.Split ——将字符串通过分割符转成数组 传统的小案例 var str = ab...

    aboutU 评论0 收藏0
  • vue.js的小知识

    摘要:对于最终的结果,两种方式确实是相同的。然而,不同的是计算属性是基于它们的依赖进行缓存的。这就意味着只要还没有发生改变,多次访问计算属性会立即返回之前的计算结果,而不必再次执行函数。 vue.js vue.js 的构造 new Vue({}) new new MyComponent() 属性与方法 vue会代理其data对象里所有的属性 例如 data.a=vn.a vm.$i...

    light 评论0 收藏0
  • React中的小识点

    摘要:配置默认和中的操作并不能完全满足所有操作需求,有些时候还是需要和打交道。当中提供了属性来帮助我们获取已经挂载元素的节点。当元素在页面上挂载完成以后,就会调用这个函数,并且把这个挂载以后的节点传给这个函数。 配置默认 defaultProps class ExampleComponent extends React.Component{ static defaultProps =...

    niceforbear 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<