
javascript
问若
这个作者很懒,什么都没留下…
展开
-
Object.freeze方法
Object.freeze方法是es5中新增加的一个属性描述符,用于锁定一个对象,被锁定后的对象将不可添加或删除属性,对自身已有属性也不可进行修改。let obj = Object.freeze({name:"aaa"});obj.age=12;console.log(obj.age); // undefinedobj.name = "bbb";console.log(obj.name); // aaadelete obj.name;console.log(obj.name); /原创 2020-06-18 15:01:47 · 740 阅读 · 0 评论 -
Object.defineProperty 方法
Object.defineProperty是es5中新增加的属性描述符。在它出现之前你可能会经常有一些疑问,比如for in 循环为何不能遍历出函数的arguments、length、name等属性名,delete window.a 为何返回false, 等你学完这个api,这些现象便都能够得到解释。Object.defineProperty 一共涉及6个可配置项: writable: 是否可重写 value: 当前值 get: 读取时内部调用的函数 set:原创 2020-06-10 15:29:07 · 2706 阅读 · 2 评论 -
设计模式之工厂模式
设计模式之工厂模式简介优缺点总结简介工厂模式是设计模式中一种最常用的创建型设计模式。我们之所以称其为创建型模式是因为它主要用来创建新的对象。在实际开发过程中你常常会遇到需要创建对象的情况,这些对象可能大同小异,每次单独创建会增加代码量且不易于后期维护,所以就可以将这一部分封装为公共方法,命名为工厂方法。举个例子: 老王是一家文具厂的厂长,文具厂里可以生产多种文具,当零售商到文具厂批发货物时会指定要购买哪种文具。// 父类文具class Stationery { getType(){原创 2020-05-24 14:20:46 · 226 阅读 · 0 评论 -
JavaScript原型和面向对象
原型(prototype)的来源: 虽然JavaScript和Java并没什么关系,但是JavaScript在开始创建的时候想要模仿Java 通过new 操作符实现对一些方法和属性的共享。但是在es6 之前JavaScript并没有真正类 (class)的概念,所以JavaScript借鉴了其他语言(self , io, lua等)的原型机制。 简单点说就是在JavaScript中每个函数...原创 2018-07-21 12:50:40 · 244 阅读 · 0 评论 -
你不知道的JavaScript数组方法
在JavaScript中数组是使用频率最高的数据结构之一。为了方便我们的开发和使用,ECMA委员会为我们修订和扩展了各种数组方法。这些方法有些比较冷门,有些却非常实用。下面为大家介绍一些你平时可能运用比较少的数组方法。先介绍几个大家比较熟悉的方法:sort() sort方法用于对数组元素进行排序,它接受传入一个函数,函数的两个参数代表后一个元素与前一个元素,函数的返回值为比较...原创 2018-06-26 20:06:15 · 342 阅读 · 0 评论 -
JavaScript 类型判定
在进行编程开发时,我们往往需要对一些不可确定的数据进行类型判定 。但是仅仅借助JavaScript自带的typeof 和instanceof 这两个方法似乎并不能满足我们的需求。首先 使用typeof 和instanceof 所能分辨出的类型是比较模糊的,以typeof 举例的话他能识别出string 、number 、boolean 、 function 、undefined 、objec原创 2017-06-28 11:08:58 · 424 阅读 · 0 评论 -
JavaScript 类数组对象
在JavaScript中有一种数据结构叫类数组,也被称为伪数组,伪数组并不是真正意义上的数组,但是它具有很多和数组相似的特性,所以被人们称为类数组。常见的伪数组:如:function 内的arguments,通过document.forms、form.elements、document.links、select.options 、document.getElementsByName 、docu原创 2017-06-26 10:02:21 · 415 阅读 · 0 评论 -
JavaScript bind方法
在ECMAScript 5中新增了bind() 函数用于控制调用的作用域 。bind () 是基于函数进行调用的 ,用来确保函数是在指定的this值所在的上下文中调用的。 我们可以通过如下代码了解其功能: function SayHello() { this.show=function () { alert("hello")原创 2017-06-02 11:15:07 · 624 阅读 · 0 评论 -
JavaScript自定义“类”库
JavaScript 是基于原型的语言,在es6 之前并没有包含内置类的实现。但是这并不意味着类在JavaScript中毫无必要 。实际上类是一种很有用的工具,像其他编程语言中一样,类在JavaScript中同样可以起到重要的作用 。 下面我们手动封装一个类库,实现一个简单的类的创建。 预期实现的功能:1. 可以对新创建出来的类进行初始化2. 可以扩展类的静态属性与方法原创 2017-06-05 19:38:47 · 890 阅读 · 0 评论 -
Object.keys方法
Object.keys方法是JavaScript中用于遍历对象属性的一个方法 。它传入的参数是一个对象,返回的是一个数组,数组中包含的是该对象所有的属性名。console.log(typeof Object.keys); // function应用实例 var cat= { name:’mini’, age:2, color:’yellow’,原创 2017-06-09 11:55:12 · 3564 阅读 · 0 评论 -
Object.create方法及其在继承上的应用
方法介绍Object.create 方法是JavaScript中用于创建对象的一个方法 。 Object.create接收两个参数,第一个表示要继承的对象,第二个参数表示也是一个对象,用于对新创建的对象进行初始化 。下面我们来看具体应用:var Obj ={ name:'mini', age:3, show:function () { console.log(this.name +原创 2017-06-09 10:10:35 · 1844 阅读 · 0 评论 -
JavaScript 上下文切换
JavaScript是一门非常灵活的语言,它和其他编程语言相比有很多独特的地方。其中一个较为突出的表现就是,在JavaScript中允许我们手动更改上下文 。这会方便我们进行状态的共享,尤其是在事件回调中显得意义重大。但这也市场给一些初学者带来费解和疑惑。下面我们为大家讲述几种较为常用的手动更改上下文的方法:function Student(name) { this.nam原创 2017-06-02 20:00:55 · 1445 阅读 · 0 评论 -
JavaScript自定义事件及dom无关事件
一、 自定义事件相信大部分的朋友对事件监听并不陌生,这是我们实际开发中常用的一种代码实现方式。但似乎我们之前用到的都是浏览器内置的事件,能不能自定义事件进行触发呢?实际上在jQuery中为我们提供了 trigger() 函数,专门用来触发自定义事件。可以通过命名空间的形式来管理事件名称,命名空间中的单词用点号分隔 。 如:// 绑定自定义事件 $(“.class“).原创 2017-06-01 13:39:29 · 822 阅读 · 0 评论 -
parseInt 进制转换
parseInt 进制转换问题今天在工作中遇到一个比较有意思的进制转换问题,在此做下记录,希望能帮助在利用parseInt做进制转换时遇到类似坑的同学。首先我们看下 w3c 手册中对于parseInt的使用说明:大概的意思是parseInt 共接收两个参数,其中第一个是一个字符串,第二个参数是进制基数,返回的结果是一个十进制数字。此时我们在浏览器中输入parseInt(原创 2017-04-12 08:48:50 · 2303 阅读 · 1 评论