JavaScript小结

作者: 五点半的太阳 | 来源:发表于2019-02-11 15:58 被阅读0次

JavaScript类型总结

1.在es5规范中,基本类型有五种:1).Null,2).Boolean,3).String,4).Number,5).Undefined
注:在es6中又添加了一个基本类型:Symbol
2.引用类型1.Object,2.Array,3.Date,4.RegExp,5.Function
3.7种语言类型:1).Null,2).Boolean,3).String,4).Number,5).Undefined,6).Symbol,7).Object。

来自:https://www.ecma-international.org/ecma-262/9.0/index.html#sec-well-known-intrinsic-objects

编程规范void 0 替代 undefined

js中你声明一个变量,eg:var a;并没有给a变量赋值,此时这个变量的值就是undefined。在js中undefined是一个变量,并不是一个关键字,我们可以随时随地的修改。这是js设计的缺陷,所以我们在平时开发中,避免这个问题,大佬们就推荐了用void0来代替undefined。
正因为undefined在js中的值是可变的,因此为了得到真正的undefined,我们就可以通过void 0 来获取。具体如下

var a= {
    _void: 1,
    get _Void(){
        console.log(this._void);
    }
};
var test = void a._Void; // 显示0
console.log(test); // 显示undefined

装箱与拆箱操作

1.定义:装箱:把基本数据类型转换为对应的引用数据类型,拆箱:把引用数据类型转换为基本数据类型

装箱

2.我们在常用的基本类型中,如String Number类型。在创建的时候,他并没有String,Number对象下的方法。而是js自动给我们进行了装箱操作。
在这个字符串a中,仅仅是一个普通的字符串,并没有String中的方法被调用。而是js为我们自动装箱,进行了如下操作。同理Number类型也是一样,但是es6中增加的symbol类型不能进行new装箱

var a = '1234';
a  = new String(a);
//自己的操作
//.....调用string下的方法
//消除内存消漏问题
a = null;

拆箱

3.在拆箱操作中,可以通过valueof与toString方法实现

var a = 1234;
//装箱
a = new String(a);
//自己的操作
//....调用string下的方法
//拆箱
a.valueof();//number
a.toString();//string

总结

javascript中又很多这种小问题,有的时候工作的时候很难发现,需要沉静下来慢慢去消化和解决。

相关文章

  • JavaScript Array

    JavaScript Array小结:

  • JavaScript小结

    语法小结

  • JavaScript小结

    整个javascript分为三个组成部分(ECMAScript/DOM/BOM) 一、核心部分ECMAScript...

  • JavaScript小结

    JavaScript类型总结 1.在es5规范中,基本类型有五种:1).Null,2).Boolean,3).St...

  • ionic1 文字长按复制、粘贴问题解决

    javascript的self和this使用小结 http://www.cnblogs.com/reommmm/a...

  • JavaScript基本语法(一)

    目录 1. 语句 2. 变量 3. 小结 JavaScript基本语法(一)是JavaScript核心知识点(EC...

  • JavaScript

    JavaScript小结JavaScript 是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: ...

  • JavaScript 的 this 小结

    JavaScript 语言的一个关键字。 它是函数运行时,在函数体内部自动生成的一个对象,只能在函数体内部使用。 ...

  • Javascript事件小结

    本篇文章主要讲解Javascript的事件,如下: 事件流 如何注册和删除事件 跨浏览器的事件处理程序和事件对象 ...

  • 【javascript】BOM小结

    浏览器对象模型(BOM)以window对象为依托,表示浏览器窗口以及页面可见区域。 window对象还是ECMAS...

网友评论

    本文标题:JavaScript小结

    本文链接:https://www.haomeiwen.com/subject/zbafeqtx.html