- 博客(22)
- 收藏
- 关注
原创 js 实现 base58加密/解密(包含中文)
1. Base58加密原理:和通常base64编码一样,base58编码的作用也是将非可视字符可视化(ASCII化)。但不同的是base58编码去掉了几个看起来会产生歧义的字符,如 0 (零), O (大写字母O), I (大写的字母i) and l (小写的字母L) ,和几个影响双击选择的字符,如/, +。结果字符集正好58个字符(包括9个数字,24个大写字母,25个小写字母)。2. 直...
2018-11-01 18:13:53 4337
原创 测试---在mac里安装虚拟机
首先我是参考下面这个博客,包含一些资源的下载https://blog.csdn.net/weixin_41000111/article/details/79428402然后遇到一些问题,这里说明一下:上面博客中的windows7是老版本的,身为前端在mac装虚拟机主要是想测浏览器的兼容性,IE11开发者工具里是自带向下兼容到IE5(不含IE6),所以我准备直接在windows7上装ie...
2018-10-10 10:08:56 1159
原创 js防抖和节流
防抖和节流目的:都是优化高频率触发执行js代码的一种手段防抖:上次触发事件和这次触发之间满足一定的空闲时间,js方法才执行一次例如:1、生活场景:公车司机在站牌,当前有人不断的上车(规定时间内触发事件超过一次看做不间断触发),司机就不会开走(执行),如果有一段空闲时间没人上车了,司机就会开走(执行)。2、业务场景:A:百度搜索。一般搜索绑定输入事件(每次触发输入事件都会触发),...
2018-10-09 17:37:28 1145
原创 js---ES6 箭头函数的this指向
普通函数的this指向看的是:1.调用者2.有没有call/apply改变this指向3.new改变AO中的this为一个空的对象4.什么都没有,单纯调用函数,this就是window,在自己的AO中。箭头函数的this指向:箭头函数在定义时执行器上下文的this的指向(不具有块级作用域),即会取当前的函数的作用域链上的this,忽略块级作用域中的this function haha(){ ...
2018-05-02 12:49:41 994
原创 js---ES6 let和var
1.let和varlet:有块级作用域,必须先声明再使用变量(不存在声明提前),不允许重复声明。 let arr=[]; for (var a = 0; a < 10; a++) { arr[a]=function(){ console.log(a); }; } ...
2018-04-10 20:27:00 163
原创 js---js时间线(浏览器解析过程)
1、创建Document对象,开始解析web界面。document.readyState='loading'。2、遇到link外部css,创建线程加载,并继续原线程的解析。3、遇到外部js文件,并没设有async/defer的属性,浏览器正常加载js(阻塞),等js加载完成再执行下面的内容。4、遇到外部js文件,但是设有async/defer的属性,浏览器创建新的线程进行加载,原线程继续自己的行为...
2018-04-04 13:00:07 556
原创 js---DOM节点
一、获得元素:1.getElementsByTagName()----所有浏览器都有这个方法,没兼容性问题2.getElementById()---IE8.0以下,不区分Id的大小写,也就是说也没兼容性问题3.getElementsByClassName()---IE9.0以下没有这个方法,存在兼容性问题。4.getElementsByName()---name属性,Input的name属性,并不...
2018-04-03 21:40:51 155
原创 js---严格模式
基于es3.0和es5.0新增的方法使用的,es3.0和es5.0产生矛盾的地方在严格模式下就是采用的es5.0,否则js解析采用es3.0注意:"use strict"要放在逻辑的最顶端(代码的最顶端,有作用范围,在函数最顶端就是当前函数采取严格模式)严格模式:1.不允许用with(){}---with可以改变作用域链的结果,极费效率,将obj放在作用域链的顶端,相当于移动了所有原先的AO所以严...
2018-04-03 20:52:30 219
原创 css---基础技巧总结
一、书写css样式:1.优先写位置---使元素脱离文档流的功能2.再写宽高内外边距等---合模型的内容3.背景颜色,样式4.css3的动画转换等效果目的:浏览器在解析时先重拍再重绘,先写位置可以先确定位置再排版,最后添加附属样式可以修饰。二、常见标签的一些用法a标签的作用:1.超链接2.锚点 常见用法:侧边导航栏固定,通过锚点跳转到指定id的模块<a href="#id"></...
2018-04-03 16:01:53 315 3
原创 js---数组,类数组
1. 数组 --- 一种特殊的对象a 会改变原数组的API---push unshift pop shift splice sort reversevar arr=[3,5,2,7,1,9,0,3]//push(需要添加的参数值1,...,参数值n)---向数组末尾添加元素(可以是多个参数,就是向数组添加多个元素)arr.push(56);console.log(arr)//[3,5,2,7,...
2018-03-24 23:52:59 226
原创 js---圣杯模式 ,枚举,如何区分数组和对象,callee
1. 继承发展史(从a发展到d)a 原型链继承:过多的继承没有用的属性function Grand(){this.grand='grand';this.name='haha'}function Father(){this.father='father'}function Son(){this.son='son'}var grand = new Grand();Father.prototyp...
2018-03-23 21:25:44 288
原创 js---call/apply,this
1.call/apply作用:改变this指向区别:参数列表不一样,call的参数列表是按实参一个个传,apply是传一个数组arguments例子:function test(){console.log(111)}test.call();//111 说明test()就等于test.call(); 任何方法都能callfunction Person(age,name){ this.a...
2018-03-23 17:59:20 205
原创 js---原型,原型链
1.原型---Person.prototype,在函数Person定义的时候就产生了,是所有由Person构造函数构造出的对象的祖先。祖先意味着子代可以继承他的属性。而这个Person.prototype等待着new时将自己放到this的__proto__中。function Person(){ //var this={__proto__:Person.prototype} ....//中...
2018-03-23 17:23:06 246
原创 js---包装类
1.包装类----js以new的方式抽象出一类相同特征的对象的集合,就是说new会产生一个由构造函数丰满后的对象function Person(){ //var this={} 系统在new的时候隐式产生 ...//函数里的代码 //return this 系统在new的时候隐式产生}var person = new Person();//由于new的时候,会返回一...
2018-03-23 15:01:32 556
原创 js---作用域链,立即执行函数,闭包
1.作用域链----函数定义时会获得父级的作用域链的值放在自己的[[Scopes]]属性中,[[Scopes]]是系统自带的隐式属性,通过console.dir(函数名) 可以查看这个函数的作用域链,即[[Scopes]]。任何函数都至少会有Global的作用域,嵌套越深,作用域链越长。当执行函数的前一刻时,会生成当前函数的独一无二的AO,添加到自己的作用域链中。注意:任何函数只能使用自己作用...
2018-03-21 14:32:07 231
原创 js---预编译
js作为解释型语言执行的时候分为三步1.通篇扫描,有没有基础语法错误。2.预编译,发生在函数执行前一刻。3.解释执行。预编译的步骤:1.创建AO(活动对象,即作用域,执行期上下文,任何函数每次执行都会产生属于当前执行的自己的独一无二的AO,同一个函数执行时会产生不同的AO,a();---AO a();---AO 执行两次a会产生两个a的AO,但是单线程的js会等一个执行结束(AO是即时存在...
2018-03-20 13:11:09 182
原创 js---函数参数
函数的参数分为形参和实参add(1,2,3)----运行函数的时候给的值是实参function add(a,b){}----声明函数的时候,是形参function add(a,b,c,d){ console.log(arguments.length);//实参个数 3 console.log(add.length);//形参的个数 4 console.log(add.name);/...
2018-03-17 18:19:59 207
原创 js---数据类型转换,typeof
js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object)。1.typeof------判断后返回的都是字符串类型("string" "number" "undefined" "object" "function" "boolean")var a=1,b={},c=[1,2,3],d='
2018-03-17 16:04:06 221
原创 js-与或运算符的真正原理
1.与----并且----&&第一个表达式为真,会继续执行第二个表达式,当所有表达式都为真的时候,会返回最后一个表达式的值;当遇到表达式为假的时候,会立即返回当前表达式的值,并停止向后执行表达式的行为,即当前语句结束。var a=0&&2;console.log(a);//0a=1&&3;console.log(a);//3a=2&&...
2018-03-17 10:23:01 636 2
原创 js----for循环使用技巧
for(var i=0;i<10;i++){ console.log(i);//0,1,2,3...,9}for((1);(2);(3)){(4)}-----红色标记表示这里的表达式,方便叙述。先运行(1),再判断(2)是否为true,为true再执行(4);第一轮结束之后,执行(3),再判断(2)是否为true,为true再执行(4);执行(3),再判断(2)是否为true,为true...
2018-03-17 10:04:00 1272
原创 js基础知识---编译语言与解释型语言,原始型类型与引用型
1. 编译语言与解释型语言的区别编译型语言:通篇先编译出一个文件,程序会自动执行这个文件。优点:快;缺点:不能跨平台。服务器要求稳定性强,用Linux系统,客户端大多数使用Windows,产生跨平台问题,编译型语言生成的编译文件无法同时多个平台执行。解释型语言:编译一句执行一句,没有编译文件,相当于直接编译成1010机器语言,然后执行。优点:跨平台;缺点:稍微慢。注意:java严格意义上不算编译语...
2018-03-16 17:24:41 625
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人