读书笔记——你不知道的JavaScript
文章平均质量分 74
高手坟墓丶
转知乎了https://www.zhihu.com/people/yang-jian-04-12
挖掘机大手,dotA天梯和尼古拉斯赵四一样,篮球准星和隆多一样。
展开
-
JavaScript对象——不变性
当我们希望属性或者对象是不可改变的,可以通过多种方法实现,但是,创建的不变都是浅不变性,只会影响目标对象和它的直接属性。 对象常量通过writable: false和configurable: false就可以创建一个真正的常量属性(不可修改、重定义、删除):var obj = {};Object.defineProperty(obj,"a",{ value: 2, writable原创 2017-10-17 22:45:01 · 238 阅读 · 0 评论 -
JavaScript原型——构造函数
没有构造函数,只有对函数的构造调用。 构造函数是在类中的知识,很多人以为JavaScript中也有构造函数是因为这样的代码:function Foo() { //... }var a = new Foo();认为Foo是一个类的原因是 看到了关键字new,在面向类中的语言中(比如Java)实例化对象的时候也会用到。 Foo()的调用方式类似初始化类的时候类的构造函数的调用方式。 其实,Foo原创 2017-10-26 22:25:02 · 205 阅读 · 0 评论 -
JavaScript对象——遍历
JavaScript中的数据结构有四种: 数组(也是对象) 对象 Map(ES6新增) Set(ES6新增) 数组和对象大家应该很熟悉了,下面介绍一下Map和Set。Map学过Java的同学应该很清楚(我怎么感觉JavaScript越来越像Java了。。。) 定义一个Map:var map = new Map([["a",1],["b",2]]); //二维数组 map.set("c",3)原创 2017-10-19 22:51:46 · 210 阅读 · 0 评论 -
JavaScript原型——继承
像Java这样面向类的语言,继承就是子类与母类的关系,动物类下面有猫类、狗类等等,每个类都有自己的特性。但是,JavaScript没有类(至少在ES6之前),采用原型继承:原创 2017-10-28 21:51:30 · 179 阅读 · 0 评论 -
JavaScript原型——对象关联
检查“类”关系在Java这些面向类的语言中,检查一个实例的继承祖先叫做反射。在JavaScript里面,怎么检查对象的委托关联呢?function Foo() { //... }var a =new Foo();如何通过反射找出a的祖先(委托关联)呢? a instanceof Foo; //true instanceof回答的问题是:在a的整条[[Prototype]]链中是否有指向原创 2017-10-29 22:10:49 · 255 阅读 · 0 评论 -
JavaScript原型——属性设置和屏蔽
给一个对象设置属性,这是对象的知识点,但是由于涉及到了原型链,就放在原型里了。 预备知识Getter和Settergetter和setter都是隐藏函数,getter会在获取属性值时调用,setter会在设置属性值时调用。 当你给一个属性定义getter、setter或者两者都有,那这个属性就被定义为"访问描述符"。 对于访问描述符,JavaScript会忽略它们的value和writable特性,原创 2017-10-24 10:08:00 · 819 阅读 · 0 评论 -
单体模式
定义单体是一个用来划分命名空间并将一批相关方法和属性组织在一起的对象,如果它可以被实例化,那么它只能被实例化一次。 注:单体是一个只能被实例化一次并且可以通过一个众所周知的访问点访问的类。——传统的定义拥有私有成员的单体1、下划线表示在单体对象中使用下划线表示法是一种告诫其他程序员不要直接访问特定成员的简明办法:GiantCorp.DataParser = { //私有方法 _st原创 2017-12-10 16:25:10 · 474 阅读 · 0 评论