- 博客(93)
- 收藏
- 关注
原创 你不知道的JavaScript——严格相等和宽松相等
宽松相等(loose equals)== 和严格相等(strict equals)=== 都用来判断两个值是否“相 等”,但是它们之间有一个很重要的区别,特别是在判断条件上。 常见的误区是“== 检查值是否相等,=== 检查值和类型是否相等”。听起来蛮有道理,然而 还不够准确。 正确的解释是:“== 允许在相等比较中进行强制类型转换,而 === 不允许。”如果进行比较的两个值类型相同,...
2018-09-22 20:32:56
302
原创 你不知道的JavaScript——toString、toNumber、toBoolean
数组的toString()方法默认把所有的单元字符串化了以后再用逗号,连接起来。JSON 字符串化 工具函数 JSON.stringify(..) 在将 JSON 对象序列化为字符串时也用到了 ToString。所有安全的 JSON 值(JSON-safe)都可以使用 JSON.stringify(..) 字符串化。安全的 JSON 值是指能够呈现为有效 JSON 格式的值。 为了...
2018-09-20 20:06:35
5647
原创 你不知道的JavaScript —— 基本类型
null类型只有一个值null,undefined类型也只有一个值undefined。所有的变量在赋值之前默认值都undefined,void运算符的返回值也是undefined。数字类型有几个特殊的值,包括NaN(指的是无效的数字、+Infinity、-Infinity、-0)。简单标量基本类型字符串和数字等通过值复制、传递,而复合值(对象等) 通过引用复制来赋值 / 传递。Java...
2018-09-20 10:40:43
200
原创 什么是EXTjs
Ext JS是一个流行的JavaScript框架,它为使用跨浏览器功能构建Web应用程序提供了丰富的UI。 Ext JS基本上用于创建桌面应用程序它支持所有现代浏览器,如IE6 +,FF,Chrome,safari 6+ 等。而sencha,sencha touch的另一个产品用于移动应用程序。Ext JS基于MVC / MVVM架构。 最新版本的Ext JS 6是一个单一的平台,可以用于桌面...
2018-09-19 22:12:37
3224
原创 前端面试——回调、Promise、Generator和async-await
首先我们回顾一下javascript异步的发展历程。ES6 以前: 回调函数(callback):nodejs express 中常用,ajax中常用。ES6: promise对象:nodejs最早有bluebird promise的雏形,axios中常用。 generator函数:nodejs koa框架使用率很高。ES7: async/await语法:当前最...
2018-09-19 21:34:26
4603
原创 你不知道的JavaScript(中) -- 数组和数值
在JavaScript编程语言中,赋值和参数传递可以通过值复制和引用复制来完成。但是JavaScript里面没有指针,引用的工作机制也不尽相同。简单值如undefined、字符串、数值、null、布尔值和Symbol可以通过值复制来复制和传递。复合值——对象(封装的对象、数组和声明的函数)总是通过引用复制的方法来复制和传递。 ...
2018-09-19 18:03:07
171
原创 什么是React.js
React作为JavaScript库的三大主流框架之一,值得前端工程师的进一步学习与探讨。React 是一个用于构建用户界面的 JAVASCRIPT 库。React主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。React 拥有较高的性能,...
2018-09-19 15:39:16
3155
原创 你不知道的JavaScript(上中下三册) 电子版高清PDF -- 百度云下载
链接:https://pan.baidu.com/s/1pfviFDVDg7EpF35HQWEc6Q 密码:vaft
2018-09-18 12:56:05
70378
176
转载 JavaScript前端面试知识点
JavaScript中如何检测一个变量是字符串类型?typeof(obj) === "string" //trueobj.constructor === String //truetrim()的使用场景 var str = " hello word ";str = str.trim();console.log(str); //hello word,trim...
2018-09-18 12:26:49
220
原创 E4X
E4X(ECMAScript for XML)处理XML做了新的语法扩展,也定义了新的XML对象。E4X的类型:XML XML结构中的任何一个独立的部分XMLList XML对象的集合Namespace:命名空间前缀与命名空间URI之间的映射QName:有内部名称和命名空间URI组成的一个限定名E4X修改的新语法:使用(..)表示匹配所有后代元素,使用@ 字符表示应该返...
2018-09-18 10:23:00
464
原创 Vue.js实现购物车页面
吉他谱传送:https://github.com/Max-hearted/PGwonHTML代码:JS代码: 最终实现:
2018-09-18 09:17:09
3475
3
原创 Vue常见知识点
MVVM是什么?MVVM是Model-View-ViewModel的缩写。Model代表数据模型,View代表UI页面组件,用于展现给用户的,ViewModel是监听模型数据的改变和控制视图行为、处理用户交互,是连接Model和View层次的交叉点。在MVVM架构下,View和Model之间没有直接的联系,二十通过ViewModel进行交互,Model和ViewModel之间的交互是双向的...
2018-09-17 18:36:30
1050
原创 jQuery AJAX -- HTTP请求的GET和POST
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。GET - 从指定的资源请求数据(从服务器请求数据) POST - 向指定的资源提交要处理的数据(网页的表单数据提交)GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据 语法:$...
2018-09-16 22:24:47
1030
原创 ES6的class语法糖
tips:记得先在本地引进jQuery或者在线CDN<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"><script src="http://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js"><script src="ht...
2018-09-14 16:18:09
523
原创 ES6 -- Proxy代理
Proxy用于修改某些操作的默认行为,等同与在语言层面做出修改,即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。 它实现的就是“方法无法找到时”的行为,Proxy 对象...
2018-09-13 11:29:18
16780
1
原创 JavaScript高级程序设计 -- 错误处理
主流的浏览器IE、火狐、Safari和Chrome等,都具有某种向用户报告JavaScript错误的机制。默认情况下,浏览器都会隐藏这些错误,因为除了开发者没有人会关心这些错误信息。在Chrome中也会隐藏JavaScript错误、快捷打开JavaScript错误控制台的方式:打开一个网页,同时按下Ctrl + shift + J 会自动弹出控制台。 错误处理:错误处理在程序设...
2018-09-12 22:11:41
215
原创 什么是Zepto.js
Zepto是一个轻量级的JavaScript库,它的文件大小只有10K左右,兼容现代高级浏览器,主要用于移动端的开发,它有着与jQuery类似的API。就像zepto官网说的如果你会使用jQuery,那你也会用zepto。 Zepto有着独特的手指的触摸事件(tap、swipe。。。),且不再支持IE浏览器。下载方式:npm install zepto下载到本地:https://z...
2018-09-12 15:58:45
17306
原创 你不知道的js -- 原型
JavaScript中所有的对象都有一个[[ prototype ]] 的内置属性,其实就是其他对象的引用。在你引用对象的属性时,会触发[[ GET ]]操作,会在当前的作用域里边寻找是否存在这个属性,如果没有就往上寻找。这个过程就是对象prototype的链式操作。prototype的对象尽头就是Object.prototype Object.prototype里边到底有什么:一...
2018-09-11 21:21:15
233
原创 你不知道的js -- class构造函数
ECMAScript 2015 中引入的 JavaScript 类实质上是 JavaScript 现有的基于原型的继承的语法糖。类语法不会为JavaScript引入新的面向对象的继承模型。这并不意味着JavaScript中有“类”的概念,由于类是一种设计模式。所以你可以使用一些方法近似实现累的功能。JavaScript的机制其实和类是不同的。类的继承:定义好一个子类之后,相对于父类...
2018-09-11 17:15:59
1502
原创 算法 -- 迪克斯特拉算法Dijkstra
定义:找出最短路径的算法。思想:按路径长度递增次序产生算法:把顶点集合V分成两组:(1)S:已求出的顶点的集合(初始时只含有源点V0)(2)V-S=T:尚未确定的顶点集合将T中顶点按递增的次序加入到S中,保证:(1)从源点V0到S中其他各顶点的长度都不大于从V0到T中任何顶点的最短路径长度(2)每个顶点对应一个距离值S中顶点:从V0到此顶点的长度T中顶点:从...
2018-09-11 11:37:20
1457
原创 算法 -- 广度优先搜索
广度优先搜索(BFS):是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。BFS在求解最短路径或者最短步数上有很多的应用。应用...
2018-09-11 11:07:22
584
原创 你不知道的js -- 对象的属性描述符
看代码:任何一个普通的对象里面,不仅仅只有一个自定义的值 ‘12’ ,它还有三个特性writable:可写的,enumerable:可枚举的,configurable:可配置的。 在创建普通属性的时候,属性描述符会使用默认值。我们也可以手动想修改。对象和属性的不变性1、对象常量设置对象的writable:false 和 configurable:false 可以...
2018-09-09 13:01:13
321
原创 你不知道的js -- 对象
文字语法(推荐使用的方式):var obj = {key : value};构造形式:var obj = new Object();obj.key = value; 对象的基本类型:·string·boolean·number·object·null·undefined注意,简单基本类型(string、boolean、number、nul...
2018-09-06 20:20:06
170
原创 你不知道的js -- this的箭头函数
箭头函数表达式的语法比函数表达式更短,并且没有自己的this,arguments,super或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。(参数1, 参数2, …, 参数N) => { 函数声明 }(参数1, 参数2, …, 参数N) => 表达式(单一)//相当于:(参数1, 参数2, …, 参数N) =>...
2018-09-06 11:30:57
176
原创 算法 -- 对等差分数组
创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) (△ or ⊕)数组.给出两个集合 (如集合 A = {1, 2, 3} 和集合 B = {2, 3, 4}), 而数学术语 "对等差分" 的集合就是指由所有只在两个集合其中之一的元素组成的集合(A △ B = C = {1, 4}). 对于传入的额外集合 (如 D = {2, 3}), 你...
2018-09-06 10:57:15
370
原创 算法--快速排序
快速排序:是对冒泡排序的一种改进,通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的数据都要小。然后分别对这两部分进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。代码:...
2018-09-05 21:04:36
179
原创 你不知道的js--this的显示绑定
显示绑定:使用call()、apply()、bind()方法进行强制绑定。 1、硬绑定 2、API调用的上下文
2018-09-03 13:09:04
374
原创 SCSS--扩展的CSS
SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。也就是说,任何标准的 CSS3 样式表都是具有相同语义的有效的 SCSS 文件。另外,SCSS 还能识别大部分 CSS hacks(一些 CSS 小技巧)和特定于浏览器的语法。1、混合宏声明:@mixin 使用:@include 。编译出来的css代码,不会自动合并相同的样式代码,如果...
2018-09-02 22:10:57
574
原创 算法--中级算法题目与实现
1、区间求值我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。最小的数字并非总在最前面。2、找出数组间的差别比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异3、数字转为罗马数字将给定的数字转换成罗马数字。所有返回的 罗马数字 都应该是大写形式4、对象搜索写一个 fu...
2018-09-02 21:23:30
1079
原创 算法--初级算法题目与实现
1、实战翻转字符串算法你可以先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,然后把数组转化成字符串2、计算所提供整数的阶乘。如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘积。阶乘通常简写成 n!例如: 5! = 1 * 2 * 3 * 4 * 5 = 1203、回文算法如果给定的字符串是回文,返回true,反之,返回false。...
2018-09-02 20:57:46
1486
原创 算法--链表与数组
链表:链表中的元素可以存储在内存的任何地方,链表中的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。 优点: 1、添加、删除元素不必移动元素 2、元素存储地址不连续,空间利用率高 缺点:查找元素是效率极低 数组:按顺序存储元素和地址,一一对应。 优点:1、按地址索引查找元素效率极高 ...
2018-09-02 20:28:29
134
原创 算法--二分查找(js实现)
二分查找(Binary Search):高效、简单易实现,只适用于传入的数组线性表都是有的排列存储的。而且元素关键字是有序排列。查找步数最多为㏒2NJavaScript实现:...
2018-09-02 19:12:07
1617
4
原创 你不知道的js第一章-with和eval
eval关键字可以接受一个字符串参数,利用这段传进来的字符串执行动态创建的代码。如果传入的参数不是字符串,那么JavaScript会返回这个参数。如果传入的参数为字符串,那么JavaScript会当做语句来执行,如果编译不通过会抛出异常。如果编译通过就开始执行这段js代码并返回最后一个表达式或语句的值。with声明实际是根据你传递进入的对象另外创建了一个新的此法作用域。with关键字可以改变词...
2018-08-30 21:40:51
229
原创 什么是node.js
Node.js是一个JavaScript的运行环境,实质是对Chrome V8引擎的封装。Node的优点: 1、是个工具和中间层 2、单线程,通过事件的驱动进行并发操作 3、非阻塞IO 4、集成的内置模块 ...
2018-08-07 11:46:41
174
原创 什么是TypeScript?
TypeScript 是一种有微软开发的自由和开源的编程语言,是JavaScript的超集。 TypeScript拓展了JavaScript的语法,所以任何现有的JavaScript程序可以直接在TypeScript下工作。TypeScript是为大型应用开发而设计的,生产过程中可以保证安全性和兼容性。 用npm下载编译的环境: npm install -g typescript...
2018-08-04 17:25:12
1714
原创 JQuery AJAX 的表单提交
jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地、无侵入地升级HTML表单以支持Ajax。jQuery Form 有两个核心的方法--ajaxForm()和ajaxSubmit(),他们集合了从控制表单元素到决定如何管理提交进程的功能。可接受参数: options对象,var options = { target: ' ID或class', beforeSubmit: ...
2018-07-11 20:02:14
1688
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅