随笔分类 -  javascript与typescript

摘要:js中的this指向 首先,js中的this指向是根据运行时确定的,而非定义时。 js中的this指向大致分为如下几种: 作为对象的方法调用 作为普通函数调用 构造调用 call、apply调用 作为对象的方法调用 作为普通函数调用(浏览器环境) 或者 构造调用 一般情况下,构造调用时this指向n 阅读全文
posted @ 2018-04-03 21:48 程序员小波与Bug 阅读(326) 评论(4) 推荐(3)
摘要:js中的深浅拷贝 js中有深拷贝、浅拷贝一说,所谓的深浅拷贝是针对value类型为引用类型(函数、对象、数组)而言的,大概理解的就是: 浅拷贝: 拷贝出的对象c和原始对象o,c和o在key对应的value为引用类型时,其指向同一块内存地址,修改一个必然影响另一个。 举个浅拷贝的例子: 深拷贝: 深拷 阅读全文
posted @ 2018-04-02 21:47 程序员小波与Bug 阅读(346) 评论(0) 推荐(0)
摘要:js中的各种继承实现汇总 首先定义一个父类: 原型链继承 特点: 1、子类的原型指向父类的实例 缺点: 1、无法多继承 2、无法向父类的构造传参 3、来自原型对象的引用属性是所有实例共享的 构造继承(使用call、apply方式) 特点: 1、子类的构造中进行父类构造的调用 优点: 1、实现了多继承 阅读全文
posted @ 2018-01-19 16:06 程序员小波与Bug 阅读(257) 评论(0) 推荐(2)
摘要:js原型、原型链 这几天闲了看了下js的原型,以下内容为个人理解,如有错误,尽请指正。 首先,明确一点:js中的对象分为普通对象和函数对象,一般我们自定义的可以被new的函数称作函数对象,另外js内置了譬如:Array、Date、Object、Function、Number、String、Boole 阅读全文
posted @ 2018-01-18 16:58 程序员小波与Bug 阅读(244) 评论(2) 推荐(2)
摘要:TypeScript的类,简单地定义如下: ts中,定义一个类使用class关键字,使用new进行类的实例化,constructor关键字用来定义该类的构造函数。 参数属性 什么叫做参数属性,比如上面的x、y字段的声明和构造实例化是分两步进行的,可以归纳到如下一步: 继承 使用extends关键字可 阅读全文
posted @ 2017-12-18 17:26 程序员小波与Bug 阅读(209) 评论(0) 推荐(0)
摘要:TypeScript的接口,个人理解就是一种约束,包括各种类型的契约或者代码定义上的契约。当然,和java中的用法基本一致,接口可以被继承也可以被实现。 定义一个简单的interface 注意: 1、可选属性:label?: string; 2、只读属性:readonly label: string 阅读全文
posted @ 2017-12-16 23:39 程序员小波与Bug 阅读(882) 评论(0) 推荐(0)
摘要:从今天开始学习typescript了,记录ts学习点滴,最后,使用ts结合nodejs开发后端应用,一起共勉吧: typescript最新版本2.6,所有演示代码均基于此版本 开始之前确定安装了如下npm包: 基础类型 布尔类型 运行: 控制台执行命令:ts node dataType.ts fal 阅读全文
posted @ 2017-12-09 22:30 程序员小波与Bug 阅读(296) 评论(1) 推荐(1)
摘要:使用快捷键:ctrl+`打开控制台执行如下命令 sublime2: sublime3: 具体详见:https://packagecontrol.io/installation#st3 阅读全文
posted @ 2017-04-01 11:58 程序员小波与Bug 阅读(329) 评论(0) 推荐(0)
摘要:做app开发时,用到了webview,需要监听webview的长按事件,使用原生的js处理监听如下: 这里设置500ms点击为长按处理,主要用到了3个事件: ontouchstart、ontouchmove、ontouchend,主要思路: 在ontouchstart事件中启动一个定时器,定时器间隔 阅读全文
posted @ 2016-10-28 15:56 程序员小波与Bug 阅读(3780) 评论(0) 推荐(0)
摘要:ECMAScript中有2中属性:数据属性、访问器属性。 数据属性是为了指定某对象的指定key上的一些行为,比如value是否可删除、修改、key可循环遍历等特点。而访问器属性不包含数据值,包含一堆get、set方法(非必须),读取访问对象属性时,采用getter、setter分别实现。 数据属性包 阅读全文
posted @ 2016-09-27 13:45 程序员小波与Bug 阅读(231) 评论(0) 推荐(0)
摘要:首先,ECMAScript中的数据类型分为基本类型、引用类型,基本类型的访问操作是按值的。引用类型的值是保存在内存中的对象,操作对象时,实际上操作的是对象的引用,而非对象自身。“javascript高级程序设计”中的描述是“当复制保存着对象的某个变量时,操作的是对象的引用。但在为对象添加属性时,操作 阅读全文
posted @ 2016-09-26 13:42 程序员小波与Bug 阅读(272) 评论(0) 推荐(0)
摘要:本文为js高级程序设计学习笔记,笔记中不乏本人学习js的一些心得demo,喜欢的朋友可以直接参考原书“javascript高级程序设计”,写本笔记的目的是对js中容易出错、不易理解的地方作个笔记,以免后期继续踩坑。 1、语法 区分大小写:比如typeof用于测试数据类型,不同于typeOf,一个fu 阅读全文
posted @ 2016-09-26 10:15 程序员小波与Bug 阅读(269) 评论(0) 推荐(0)
摘要:js校验数字是否为小数: 阅读全文
posted @ 2016-06-20 14:24 程序员小波与Bug 阅读(625) 评论(0) 推荐(0)
摘要:字符串形如:2016-06-20 10:41 转换为时间戳: 阅读全文
posted @ 2016-06-20 10:53 程序员小波与Bug 阅读(212) 评论(0) 推荐(0)
摘要:js生成6位随机数字: 阅读全文
posted @ 2016-06-13 09:44 程序员小波与Bug 阅读(2355) 评论(0) 推荐(0)
摘要:1、返回当前日期截止时的时间戳: 2、返回当前日期: 3、格式化返回当前日期: 阅读全文
posted @ 2016-06-12 09:59 程序员小波与Bug 阅读(1322) 评论(0) 推荐(0)
摘要:/** * 树形结构转换 * @param a * @param idStr * @param pidStr * @param chindrenStr * @returns {Array} */ function transData(a, idStr, pidStr, chindrenStr){ let r = [], hash = {}, id = idStr, pid ... 阅读全文
posted @ 2016-05-23 15:32 程序员小波与Bug 阅读(1173) 评论(0) 推荐(0)
摘要:对于如下对象数组 现在想要将id相同的对象的name拼起来,笨的算法如下: 对于形如这种字符串或数字数组去重: 简单算法实现如下: 阅读全文
posted @ 2016-03-30 09:44 程序员小波与Bug 阅读(266) 评论(0) 推荐(0)
摘要:下拉框部分代码: 如果给"bigType"的下拉框添加change事件来动态改变"smallType"下拉框的值的话,代码如下: 那么,通过js设置"bigType"某项选中后,如: 该change事件不会自动触发,解决办法: 自定义change方法,在下拉框中添加onchage事件并传参(当前选中 阅读全文
posted @ 2016-02-14 22:12 程序员小波与Bug 阅读(7383) 评论(1) 推荐(1)
摘要:需要用到几个css属性:.content{ width:100%;position: absolute;top: 50px;bottom: 0px;left: }设置了bottom、top及absolute之后,整个div会自动铺满。。。 阅读全文
posted @ 2015-11-30 16:03 程序员小波与Bug 阅读(422) 评论(0) 推荐(0)