随笔分类 - javascript
TypeScript学习笔记--函数function
摘要:函数 function 在ts中,函数是主要的定义 行为的地方。 TypeScript为JavaScript函数添加了额外的功能,让我们可以更容易地使用。 #声明方式 在 JavaScript 中,有两种常见的定义函数的方式——函数声明和函数表达式 函数声明 一个函数有输入和输出,要在 TypeSc
TypeScript学习笔记--数据类型
摘要:开头 ts的基本类型学习 一 string 字符串 和js的声明方式一样,只不过在声明变量之前定义数据类型而已 声明方式是小写,不是大写 let name :string = 'peter' let str :string = \`my name is ${name}\` 二 number 数字 T
node实现防盗链
摘要:什么是防盗链 盗链,顾名思义就是盗窃链接,就是在他人未经允许的情况下,去使用他人站点的任何图片,视频,内容等资源,来借此提升已用的站点的活跃度,严重损坏了别人的利益。那么防盗链就是采用一些办法阻止自己的资源被盗用。 模拟图片防盗链 一般情况下图片防盗链居多,我们来看看图片防盗链是如何做出来的。 哈哈
js实现输入密码之延迟星号和点击按钮显示或隐藏
摘要:缘由 手机打开segmentfalut时,长时间不登陆了,提示要重新登陆,输入的过程中看到输入密码时,延迟后再变成密文,很好奇,所以捣鼓了一下。本文实现了两种密码展示 代码实现 1 先明后密 js实现输入密码后,先显示当前输入的一位密码,然后再变成星号 2 按钮显示隐藏密码 这个方法是通过一个按钮去
rem适配
摘要:```javascript // 初始化 setHtmlFontSize(1920,1024,19.2); // 当屏幕宽度发生变化时,触发 if(window.addEventListener){ window.addEventListener('resize',function(){ setHt
arguments对象详解
摘要:在javascript中,函数是没有重载这一项的,所谓的重载,一个函数可以有多个,就是参数的个数和形式不同所以引用的功能不同,而js不存在函数重载,不管传不传参数,函数里面是否引用,关系都不大,一个函数对应一个功能,但是函数可以模拟函数重载,所以有一个Arguments对象。 定义 argument
复习面向对象 -- 继承
摘要:本文是面向对象第三部分--继承,相对于前两个,篇幅过长,理解稍微难点,不过多思考多敲敲,会一下子茅塞顿开,就懂了,不太懂面向对象-创建对象的,可以看这篇文章,传送门,不太懂面向对象-原型与原型链的,可以看这篇文章,传送门 面向对象继承 许多语言都支持两种继承方式: 接口继承 和 实现继承 。 接口继
复习面向对象 -- 原型与原型链
摘要:面向对象中原型以及原型链非常重要,复习面向对象,学习一下原型和原型链,创建对象部分可以看前一个文章,传送门,继承部分可以看后一个文章,传送门 什么是原型 原型有两种形式:prototype和__proto__;对应的呈现方式不同。 prototype:是函数的一个属性,这个属性的值是一个对象。所以一
复习面向对象--创建对象
摘要:最近在看javascript高级程序设计这本书,看到了面向对象这一本部分,感觉很重要,所以再一次复习一遍,总结下知识,篇幅过多,分成了三部分,创建对象,原型和原型链,继承,最好可以连着看,不懂得再跳回去看。 面向对象 (Object-Oriented,OO)的语言有一个标志,那就是它们都有类的的概念
js实现二分查找算法
摘要:二分查找:是一种搜索某个值的索引的算法。 基本条件:有序的数组。 思路:1.将数组折半,分成左右两个数组。 2.判断要查找的数和中间位置数值的大小,来判断要查找的数实在哪一半。 3.之后继续折半查找,直至找到这个数。 方法:二分查找有两种方法,一种是非递归方式,采用while方式,判断是否符合要求。
封装cookie设置和获取的简易方法
摘要:```javascript
(function() { var tool = { expires: "expires", // 过期时间expires path: "path", // 路径 domain: "domain", // 域 secure: "secure" // 安全设置 bool }; //设...
用Javascript方式实现LeetCode中的算法(更新中)
摘要:前一段时间抽空去参加面试,面试官一开始让我做一道题,他看完之后,让我回答一下这个题的时间复杂度并优化一下,当时的我虽然明白什么是时间复杂度,但不知道是怎么计算的,一开局出师不利,然后没然后了,有一次我逛博客园时看到有个博主的文章说到有LeetCode这玩意,于是就知道了LeetCode。忽然有一种疑
JS判断客户端是否是iOS或者Android手机移动端(转载)
摘要:前言: 上午有一个移动端的项目负责人问我,在ios系统上样式出现问题,因为内核原因,我改来改去,在ios弄好了,但在安卓有问题了,突然想到了一种办法,既然ios是一种机型,安卓是一种机型,可以检测用户的手机是哪一种机型,进而加载哪种方法。于是乎,上网查阅了一下,原理:通过判断浏览器的userAgen
javascript深入理解js闭包(转载)
摘要:此篇文章来源于http://www.jb51.net/article/24101.htm 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 另一方
es6学习笔记--Interator和Generator(以及for-of的用法)
摘要:这几天学习了遍历器和生成器,看着资料学,有点雾里缭绕的感觉,让人忍不住放弃,还好多看了好几遍,怼着资料里的例子让自己学会了Interator和Generator。 Interator,中文简称:遍历器,是一种接口,为具有遍历结构的或者说有length长度的集合提供一个接口,从而进行遍历操作。 Gen
根据HTML5的新方法 drag & drop 方法实现表格拖拽实例
摘要:上一次学习了html5的drag和drop方法,传送门 就自己写了个例子加深自己对drag和drop的理解。不过一开始不是很简单,遇到了不少问题。还好网络万能的,什么都能查到,总算完成了。 说明和详解都在代码里。 html和css代码如下: <table> <thead> <tr> <th>年龄</
es6学习笔记--promise对象
摘要:Promise对象是为了简化异步编程。解决回调地狱情况 Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。 Promise对象用于延迟(deferred) 计算和异步(asynchro
es6学习笔记--新数据结构Set,Map以及WeakSet,WeakMap
摘要:在javascript中,存储数据的方式大部分就是以数组或者对象形式存储的,es6出现了4种新集合Set,Map,WeakSet,WeakMap来存储数据,简化了编程。 集合--Set 类似于数组,但是成员的值都是唯一的,没有重复的值。通过Set集合可以快速访问其中的数据,更有效地追踪各种离散值 S
es6学习笔记--新数据类型Symbol
摘要:学习了es6语法的symbol类型,整理笔记,闲时复习。 Symbol 是es6新增的第七种原始数据类型(null,string,number,undefined,boolean,object),是为了在对象中对属性名滥用而导致的冲突问题。 ps: 既然是数据类型,不是对象,那么就不能用new命令,
es6学习笔记--字符串&数值&数组&函数&对象的扩展
摘要:这几天抽空学习了es6语法,关于字符串,数值,数组,函数以及对象的扩展,看到es6标准入门这本书,里面讲的扩展特别多,我认为有几部分在项目上用不到,就挑有用的当笔记学习了。 字符串的扩展 str.includes(str1, n) 返回布尔值,表示是否找到了参数字符串 params: 第一个参数st